用QT做一个简单的答题界面
2018-01-29 21:06
561 查看
学了两天的QT界面,今天老师布置了作业让我们用QT做一个简单的单人答题界面
类似微信应用里的头脑王者,每十秒答一题,一共答5题,最后输出分数。
下面是我自己的步骤、界面及程序:(尽量从简的)
首先打开QT ,新建一个应用程序
创建完成以后创建设计师界面类
在界面中插入倒计时用的时间(lcdNumber),切换页面用的窗口(stacked widget),所需文本(Label)等等。
大致是这样,然后在Stacked widget 添加页面,界面同理。
接下来是代码
首先在头文件中加入容器,存放单选题,加一个时间参数
main函数不动,在widget中代码如下:
最后运行如下:
类似微信应用里的头脑王者,每十秒答一题,一共答5题,最后输出分数。
下面是我自己的步骤、界面及程序:(尽量从简的)
首先打开QT ,新建一个应用程序
创建完成以后创建设计师界面类
在界面中插入倒计时用的时间(lcdNumber),切换页面用的窗口(stacked widget),所需文本(Label)等等。
大致是这样,然后在Stacked widget 添加页面,界面同理。
接下来是代码
首先在头文件中加入容器,存放单选题,加一个时间参数
main函数不动,在widget中代码如下:
#include "widget.h" #include "ui_widget.h" #include <QPixmap> #include <QMovie> #include <QDebug> #include <QMessageBox> Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); v.push_back(ui->radioButton_5); //先预设5个答案 v.push_back(ui->radioButton_11); v.push_ba a70e ck(ui->radioButton_14); v.push_back(ui->radioButton_17); v.push_back(ui->radioButton_8); ui->lcdNumber->display(10); //初始数字为10 //ui->progressBar->setValue(100); timerId = startTimer(1000); // 1s } Widget::~Widget() { delete ui; } void Widget::timerEvent(QTimerEvent *event) { static int i = 1; static int k = 0; //计数器 int score = 0; //得分 ui->lcdNumber->display(ui->lcdNumber->value() - 1); //时间递减 if (ui->lcdNumber->value() == 0) //0s时 { k++; //计数+1 ui->lcdNumber->display(10); //时间回10s ui->stackedWidget->setCurrentIndex(i++); //Stack widget切下一页 } for (unsigned int i = 0; i< v.size(); i++) { if (v[i]->isChecked()) //选项正确时 score++; //分数+1 } if(k == 5) //当走完5次时 输出 { QString str = QString("恭喜!您答对了 %1 题!").arg(score); QMessageBox::information(this, "得分", str); killTimer(this->timerId); //停止时间 } }
最后运行如下:
相关文章推荐
- 在QT的界面工程中添加一个简单的线程socket通信
- 用Qt写软件系列三:一个简单的系统工具之界面美化
- QT编程系列7--一个最简单的实用Qt界面的设计
- 用Qt写软件系列三:一个简单的系统工具之界面美化
- 用Qt写软件系列三:一个简单的系统工具之界面美化
- Qt下写一个简单的加法计算界面
- C#2005 一个简单的查询界面代码:DataGridView使用、图像显示、复合查询样例
- iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局
- 利用Java制作一个简单的QQ登录界面
- iOS开发UI篇—使用xib自定义UItableviewcell实现一个简单的团购应用界面布局
- 一个简单的node.js界面实现方法
- iOS开发之UI基础--纯代码自定义UItableviewcell实现一个简单的微博界面布局
- 一个简单的QQ登陆界面
- qt多线程一个简单的例子
- qt4:一个简单而完整的例子
- 用C#构建一个简单的采集系统之一-主界面设计
- QT学习二:一个简单的记事本
- 写一个简单的Java界面程序
- 一个简单图形界面框架XYGui的设计与实现 (一)