首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

Qt学习记录(十)项目:数字炸弹/猜数字游戏

移动开发 12.93KB 29 需要积分: 1
立即下载

资源介绍:

Qt学习记录(十)项目:数字炸弹/猜数字游戏 新手项目,佬们多多包含
#include "mywidget.h" #include "ui_mywidget.h" #include #include //退出游戏 #include #include //进度条 #include #include //设置时间 #include #include //输入数据 #include #include #include #include #include #include static int t=0; //时间 static int randomInt ;//随机数 static int i=0; //页数 static int num_1=0; //显示的范围min static int num_2=100; //显示的范围max MyWidget::MyWidget(QWidget *parent) : QWidget(parent) , ui(new Ui::MyWidget) { //初始状态 ui->setupUi(this); //创建定时器 timer = new QTimer(this); //文本框不超过2位数 ui->lineEdit->setValidator(new QRegExpValidator(QRegExp("[0-9]{2}"))); //提示隐藏 ui->label_6->hide(); ui->label_7->hide(); ui->label_7->clear(); //计时器结束 connect (timer,&QTimer::timeout, this,&MyWidget::updateCountdowm); //数字按键0-9 connect (ui->play_0,&QPushButton::pressed,this,&MyWidget::play_0_9); connect (ui->play_1,&QPushButton::pressed,this,&MyWidget::play_0_9); connect (ui->play_2,&QPushButton::pressed,this,&MyWidget::play_0_9); connect (ui->play_3,&QPushButton::pressed,this,&MyWidget::play_0_9); connect (ui->play_4,&QPushButton::pressed,this,&MyWidget::play_0_9); connect (ui->play_5,&QPushButton::pressed,this,&MyWidget::play_0_9); connect (ui->play_6,&QPushButton::pressed,this,&MyWidget::play_0_9); connect (ui->play_7,&QPushButton::pressed,this,&MyWidget::play_0_9); connect (ui->play_8,&QPushButton::pressed,this,&MyWidget::play_0_9); connect (ui->play_9,&QPushButton::pressed,this,&MyWidget::play_0_9); //清除和确认 connect (ui->play_x,&QPushButton::pressed,ui->lineEdit,&QLineEdit::clear); connect (ui->play_e,&QPushButton::pressed,this,&MyWidget::on_lineEdit_editingFinished); //样式表 this->setWindowFlags(Qt::FramelessWindowHint); //隐藏最大最小化等按键 setAttribute(Qt::WA_TranslucentBackground); //设置窗口透明化 ui->lineEdit->setAlignment(Qt::AlignHCenter); //输入框文本居中 ui->comboBox->setStyleSheet("QComboBox{" "border-width: 2px;" "border-style: solid;" "border-radius:10px;" "border-color: rgba(176, 100, 213,0);" "background-color: rgba(176, 100, 213,0.5);" "color: rgb(255, 255, 255);" "}" "QComboBox::drop-down{" "border-width:0px;" "border-style: solid;" "border-radius:5px;" "border-color: rgba(176, 100, 213,0);" "background-color: rgba(176, 100, 213,0.5);" "color: rgb(255, 255, 255);" "}" "QComboBox QAbstractItemView{" "border-width:0px;" "border-style: solid;" "border-radius:5px;" "border-color: rgba(176, 100, 213,0);" "background-color: rgb(195,142,215);" "color: rgb(255, 255, 255);" "}"); ui->progressBar->setStyleSheet("QProgressBar{" "font:9pt;" "border-radius:5px;" "text-align:center;" "border:1px solid #E8EDF2;" "background-color: rgb(179,222,255);" "border-color: rgb(180, 180, 180);" "}" "QProgressBar:chunk{" "border-radius:5px;" "background-color:rgb(16,116,191);" "}"); } MyWidget::~MyWidget() { delete ui; } //右上角X,关闭游戏 void MyWidget ::closeEvent (QCloseEvent *ev) { int ret = QMessageBox::question(this,"提示","是否关闭窗口"); if(ret == QMessageBox::Yes) this->close(); else ev->ignore(); } //page //“开始游戏”从page转跳到page_2 void MyWidget::on_pushButton_clicked() { if(t==0)//未选择时间 { QMessageBox::StandardButton reply;//警告 reply = QMessageBox::warning (this, "警告!", "未选择时间"); } else//跳转page2 { num_1=0;num_2=100; //范围初始值 ui->stackedWidget->setCurrentIndex(i=1); //跳转page2 randomInt = QRandomGenerator::global()->bounded(0,101);//获取一个随机数字作为炸弹 timer->start(1000); //计时器启动,1s为单位 ui->lineEdit->setFocus(); //一转跳,光标就在文本框上面 ui->label_4->setText(QString("%1-%2").arg(num_1).arg(num_2));//显示数字范围“0-100” ui->progressBar->setValue(t); //进度条的初始值 //提示隐藏 ui->label_6->hide(); ui->label_7->hide(); ui->label_7->clear(); } } //退出游戏 void MyWidget::on_pushButton_2_clicked() { int ret = QMessageBox::question(this,"提示","是否退出游戏"); if(ret == QMessageBox::Yes) QApplication::quit();//立即终止应用程序 } //设置时间 void MyWidget::on_comboBox_activated(const QString &arg1) { int value =arg1.toInt();//获取选择选项,并转型 t = value; ui->progressBar->setRange(0,t);//进度条的范围 ui->progressBar->setValue(0); //进度条的初始值 } //时间到了 void MyWidget::updateCountdowm() { int value = ui->progressBar->value(); //获取进度条的长度 if (value > 0) ui->progressBar->setValue(value - 1); //进度条不断减少 else { //倒计时结束 timer->stop(); //时间停止 QMessageBox::StandardButton reply; //提示 reply = QMessageBox::question (this, "时间已到", "是否重开一局游戏"); if (reply == QMessageBox::Yes) on_pushButton_clicked();//调用按钮点击事件,恢复初始值 else ui->stackedWidget->setCurrentIndex(i=0); //返回主页 } } //page_2 //返回主界面 void MyWidget::on_pushButton_16_clicked() { ui->stackedWidget->setCurrentIndex(i=0); //page2->page timer->stop(); //停止倒计时 } //按下数字按键 void MyWidget::play_0_9() { QObject*mySender=this->sender(); //获取所点击的按钮 QPushButton *Button=(QPushButton*)mySender; //mySender指针->QPushButton指针,赋值给 Button if(Button) { QString Text=Button->text(); //获取按钮中的内容 ui->lineEdit->setText(ui->lineEdit->text()+Text);//将按钮文本内容追加到文本框中 if (Text.size()>2) //超出范围,直接清空并提示 { ui->lineEdit->clear(); //清除文本框 //提示 ui->label_6->show(); u

资源文件列表:

01_GusseNum.zip 大约有7个文件
  1. 01_GusseNum.pro 1.01KB
  2. 01_GusseNum.pro.user 40.85KB
  3. 01_GusseNum.pro.user.f7c2630 40.7KB
  4. main.cpp 177B
  5. mywidget.cpp 10.08KB
  6. mywidget.h 842B
  7. mywidget.ui 30.76KB
0评论
提交 加载更多评论
其他资源 计算机组成原理实验 8位可控加减法电路设计,原码一位乘法器设计,MIPS运算器设计,汉字字库存储芯片扩展实验,寄存器文件设
8位可控加减法电路设计,原码一位乘法器设计,MIPS运算器设计,汉字字库存储芯片扩展实验,寄存器文件设计,微程序地址转移逻辑设计.
计算机组成原理实验
8位可控加减法电路设计,原码一位乘法器设计,MIPS运算器设计,汉字字库存储芯片扩展实验,寄存器文件设

计算机组成原理实验
8位可控加减法电路设计,原码一位乘法器设计,MIPS运算器设计,汉字字库存储芯片扩展实验,寄存器文件设

计算机组成原理实验
8位可控加减法电路设计,原码一位乘法器设计,MIPS运算器设计,汉字字库存储芯片扩展实验,寄存器文件设
数字滤波器的MATLAB与FPGA实现-AlteraVerilog版
数字滤波器的MATLAB与FPGA实现-AlteraVerilog版
libssh2库,内函编译好的32位和64位的动态库lib、dll,以及相关头文件
libssh2库,内函编译好的32位和64位的动态库lib、dll,以及相关头文件 include文件夹: libssh2.h libssh2_publickey.h libssh2_sftp.h lib文件夹: libssh2_x64.zip libssh2_x86.zip
文件切割V1.0.1.zip
蓝某云而言,上传资源必须小于100M,fat32文件格式只能存4G(实际3.9G)这是文件切割机就上场了,将大文件切割成数个小文件,再合并,亲测有效
纯netty,没有websocket
纯netty,没有websocket
AndroidStudio期末设计天气预报APP源代码+实验报告
​安卓APP期末设计作业 项目为https://www.bilibili.com/video/BV1QE411i7oQ/?spm_id_from=333.999.0.0&vd_source=30298dec9326e02d1a6336b519833fc4 实验报告包含背景、可行性分析、系统设计与实施和开发设计总结 GradleVersion为5.1.1
AndroidStudio期末设计天气预报APP源代码+实验报告 AndroidStudio期末设计天气预报APP源代码+实验报告 AndroidStudio期末设计天气预报APP源代码+实验报告
《整合 Spring Boot 和 Netty 实现 WebSocket》 代码写的太完美了!存一个!
《整合 Spring Boot 和 Netty 实现 WebSocket》 代码写的太完美了!存一个! 资源来自:https://blog.csdn.net/dot_life/article/details/136575529
QT利用QMovie实现动态加载、等待提示框
有时候要进行某项后台处理,但后台处理时间很长,需要提示用户等待,这时候做一个动态等待窗口,可以清晰展示当前操作的状态,以便用户能够理解和接受。本实例实现方式为获取一张gif的资源图,然后使用QMovie 在一个QLabel 控件上加载显示gif的waiting等待动态。