//name:widget.cpp
//author:_a_qian
//qq:635431173
//msn:samili@live.com
//update:2011/8/14
//edition:0.10
//statement:
// 1、个人所写代码全部公开,有需要所要的留下邮箱地址,可能反应比较慢,最好加我QQ,然后 Q 上可以传给你,基于 GNU 组织
// 2、本类基于 linux (fedora 15)开发,但是其他系统包括
//(微软的视窗系列、红帽系列、苹果系列 系统通过 QT 环境的重新编译,即可在当前系统运行,如果产生任何细节变化,恕不进行通知,自行修改代码)
#include "widget.h"
#include "ui_widget.h"
#include <QtGui/QApplication>
#include <QtGui/QtGui>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
this->a = new card;
this->own = new card(54,false);
this->classmate_A = new card(54,false);
this->classmate_B = new card(54,false);
this->table =new card(54,false);
connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(close()));
connect(ui->pushButton_5,SIGNAL(clicked()),this,SLOT(fenpai()));
connect(ui->pushButton_2,SIGNAL(clicked()),this,SLOT(clamat_A()));
connect(ui->pushButton_3,SIGNAL(clicked()),this,SLOT(own_clicked()));
connect(ui->pushButton_4,SIGNAL(clicked()),this,SLOT(clamat_B()));
ui->pushButton_5->setText(tr("发牌"));
ui->label_4->setText(tr("扑克牌已经准备好,等待发牌"));
}
void Widget::close(){
}
void Widget::clamat_A(){
chupai(ui->listWidget,classmate_A);
}
void Widget::own_clicked(){
chupai(ui->listWidget_2,own);
}
void Widget::clamat_B(){
chupai(ui->listWidget_3,classmate_B);
}
void Widget::clear_table(){
for(int temp = 0;ui->listWidget_4->item(temp)!= 0;temp++){
if(!a->add_one(table->cut_one(temp))){
qDebug()<<"a 回收牌错误";
}
}
a->compositor();
a->showcard();
}
void Widget::refenpai(){
a->refash();
classmate_A->refash();
classmate_B->refash();
own->refash();
table->refash();
this->fenpai();
this->refash();
}
void Widget::chupai(QListWidget *slect_what, card *slect_context){
clear_table();
for(int temp=0;temp < slect_context->Max_num();temp++){
if(slect_what->item(temp) != 0 && slect_what->item(temp)->isSelected()){
if(!table->add_one(slect_context->cut_one(temp))){
qDebug()<<tr("table添加错误");
}
}
}
refash();
}
void Widget::refash(){
int tmpe = 0;
ui->listWidget->clear();
ui->listWidget_2->clear();
ui->listWidget_3->clear();
ui->listWidget_4->clear();
classmate_A->compositor();
classmate_B->compositor();
own->compositor();
table->compositor();
while(tmpe < classmate_A->Max_num()){
if(classmate_A->whatcard(tmpe) != 0){
ui->listWidget->insertItem(tmpe,tr(card_describe[classmate_A->whatcard(tmpe)-1]));
}
tmpe++;
}
tmpe=0;
while(tmpe < own->Max_num()){
if(own->whatcard(tmpe) != 0){
ui->listWidget_2->insertItem(tmpe,tr(card_describe[own->whatcard(tmpe)-1]));
}
tmpe++;
}
tmpe=0;
while(tmpe < classmate_B->Max_num()){
if(classmate_B->whatcard(tmpe) != 0){
ui->listWidget_3->insertItem(tmpe,tr(card_describe[classmate_B->whatcard(tmpe)-1]));
}
tmpe++;
}
tmpe=0;
while(tmpe<table->Max_num()){
if(table->whatcard(tmpe) != 0){
ui->listWidget_4->insertItem(tmpe,tr(card_describe[table->whatcard(tmpe)-1]));
}
tmpe++;
}
}
void Widget::fenpai(){
int tmpe = 0;
for(tmpe = 0;tmpe < this->a->Max_num()/3-1;tmpe++){
if(!classmate_A->add_one(a->cut_one(tmpe))){
qDebug()<<tr("分发中出现错误检查");
}
}
for(;tmpe < (this->a->Max_num()/3-1)*2;tmpe++){
if(!own->add_one(a->cut_one(tmpe))){
qDebug()<<tr("分发中出现错误检查");
}
}
for(;tmpe < this->a->Max_num()-3;tmpe++){
if(!classmate_B->add_one(a->cut_one(tmpe))){
qDebug()<<tr("分发中出现错误检查");
}
}
for(;tmpe < this->a->Max_num();tmpe++){
if(!table->add_one(a->cut_one(tmpe))){
qDebug()<<tr("分发中出现错误检查");
}
}
ui->label_4->setText(tr("扑克牌已经分发完毕,祝您玩的愉快"));
ui->pushButton_5->setText(tr("重新发牌"));
connect(ui->pushButton_5,SIGNAL(clicked()),this,SLOT(refenpai()));
this->refash();
}
Widget::~Widget()
{
delete ui;
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8"));
Widget w;
w.show();
return a.exec();
}
没有合适的资源?快使用搜索试试~ 我知道了~
QT C++ card 基类 源代码 文件基于(linux fedora 15 、qt4.7.3)
共23个文件
h:5个
cpp:5个
o:3个
需积分: 10 19 下载量 81 浏览量
2011-08-15
09:50:49
上传
评论
收藏 59KB ZIP 举报
温馨提示
QT C++ card 基类 // 1、个人所写代码全部公开,有需要所要的留下邮箱地址,可能反应比较慢,最好加我QQ,然后 Q 上可以传给你,基于 GNU 组织 // 2、本类基于 linux (fedora 15)开发,但是其他系统包括 //(微软的视窗系列、红帽系列、苹果系列 系统通过 QT 环境的重新编译,即可在当前系统运行,如果产生任何细节变化,恕不进行通知,自行修改代码)
资源推荐
资源详情
资源评论
收起资源包目录
qt card test.zip (23个子文件)
qttest
qttest.pro.user 32KB
widget.o 25KB
cardplay.h 2KB
阿乾斗地主 46KB
qttest.pro 337B
widget.h 576B
moc_widget.o 7KB
widget.cpp 4KB
ui_widget.h 6KB
cardclass.cpp 3KB
moc_widget.cpp 3KB
cardclass.o 6KB
Makefile 9KB
widget.ui 5KB
qttest_t
widget.cpp~ 4KB
cardplay.h 3KB
cardclass.cpp~ 4KB
cardplay.h~ 2KB
widget.h 1KB
widget.h~ 971B
widget.cpp 5KB
cardclass.cpp 4KB
widget.ui 5KB
共 23 条
- 1
资源评论
aqian
- 粉丝: 20
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功