C++实现幸运大抽奖(QT版)
本文实例为大家分享了C++实现幸运大抽奖的具体代码,供大家参考,具体内容如下
程序效果:
#ifndef DIALOG_H
#define DIALOG_H
#include
#include
#include
#include
#include
class Dialog : public QDialog
{
Q_OBJECT
public:
Dialog(QWidget *parent = 0);
~Dialog();
private slots:
void on_clicked();
void on_timer();
private:
QLabel *label1;
QPushButton *btn1;
QTimer *tm;
QStringList strlist;
};
#endif // DIALOG_H
#include "dialog.h"
#include
#include
#include
#include
#include
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
{
setWindowTitle(tr("幸运大抽奖"));//设置窗口标题
label1 = new QLabel;
label1->setText(tr("开始幸运大抽奖"));
QFont font;
font.setBold(true);//设置字体为粗体
font.setPointSize(80);//设置字号
label1->setFont(font);
btn1 = new QPushButton;
btn1->setText(tr("开始"));
QVBoxLayout *layout1 = new QVBoxLayout(this);
layout1->addWidget(label1, 0, Qt::AlignCenter);//加入label1标签,并且居中显示
layout1->addWidget(btn1);
// layout1->setSizeConstraint(QLayout::SetFixedSize);//设置layout大小和控件尺寸一致,使窗口不能更改大小
QFile file("student.txt");
if (file.open(QFile::ReadOnly))//以只读的方式打开student.txt文件
{
QTextStream stream(&file);
while(!stream.atEnd())
{
strlist.append(stream.readLine());//将文件内容放到strlist中
}
file.close();
}else
{
//如果打开student.txt文件失败,程序退出
QMessageBox::critical(this, tr("错误"), file.errorString());
exit(0);
}
tm = new QTimer(this);
connect(tm, SIGNAL(timeout()), this, SLOT(on_timer()));
connect(btn1, SIGNAL(clicked()), this, SLOT(on_clicked()));
}
Dialog::~Dialog()
{
}
void Dialog::on_clicked()
{
static bool status = true;
if (status)
{
btn1->setText("停止");//如果isok为true,设置按钮标题为“停止”
tm->start(50);//启动计时器,没0.05秒执行一次on_timer函数
status = false;
}else
{
btn1->setText("开始");//如果isok为false,设置按钮标题为“开始”
tm->stop();//停止计时器
status = true;
}
}
void Dialog::on_timer()
{
if (strlist.count() == 0)
{
return ;//如果strlist中没有内容,函数返回
}
static int i = 0;
label1->setText(strlist[i]);//从0到strlist.count(),循环显示strlist中每一项的内容
i++;
if (i >= strlist.count())
{
i = 0;
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持无名。
同类资源
- win32 dll注入程序C++源码
易语言win32dll注入程序C++源码例子源代码,如果要看效果的话需要知道目标程序是64位还是32位。...
- C++显示调用易语言编写的DLL
C++显示调用易语言编写的DLL例子源代码,最近遇到一个案子使用C++调用易编写的DLL,其中遇到调用问题,特发此贴...
- 易语言与易语言调用C++,dll测试
易语言与易语言调用C++,dll测试例子源代码,测试结果调用C++写的DLL函数比易语言快4倍,测试结果不具有专业性,...
- C++禁用及启用笔记本键盘工具
C++禁用及启用笔记本键盘工具绿色版,已经重新打包工具,可以重新下载工具了。...
- C++实现LR(1)语法分析器
C++实现LR(1)语法分析器本文件感兴趣的可以参考一下,学校老师布置的作业,编译原理实验LR(1)语法分析器。...
- libstdc++.so.6.10在ARM运行上的
libstdc++.so.6.10在ARM运行上的本文件感兴趣的可以参考一下,运行在ARM上的libstdc++.so.6.10。...
- 面向对象编程C++和Java比较教程
面向对象编程C++和Java比较教程本文件感兴趣的可以参考一下,面向对象编程C++和Java比较教程中英文完整版pd...
- Qt C++时间序列分析代码
QtC++时间序列分析代码本文件感兴趣的可以参考一下,该代码是用于vs,作为时间序列分析的。...
- c++写的编译器,有词法分析,语义分析以及目标代码生成
c++写的编译器,有词法分析,语义分析以及目标代码生成本文件感兴趣的可以参考一下,基于c++编写的编译程序。...
- C++ TCP-socket端口通讯server+client
C++TCP-socket端口通讯server+client本文件感兴趣的可以参考一下,用C++编写的关于TCP-socket端口通讯的实...
- Frechet distance算法C++
Frechetdistance算法C++本文件感兴趣的可以参考一下,离散FRECHET距离FrechetdistanceC++代码。...
- 操作系统C++页面置换算法实验报告,有opt,LRU,先进先出,时钟算法
操作系统C++页面置换算法实验报告,有opt,LRU,先进先出,时钟算法本文件感兴趣的可以参考一下,函数随机产生页面...