C++实现幸运大抽奖(QT版)
来源:本站原创|时间:2020-01-10|栏目:C语言|点击: 次
本文实例为大家分享了C++实现幸运大抽奖的具体代码,供大家参考,具体内容如下
程序效果:
#ifndef DIALOG_H #define DIALOG_H #include <QDialog> #include <QLabel> #include <QPushButton> #include <QTimer> #include <QStringList> 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 <QVBoxLayout> #include <QFont> #include <QFile> #include <QTextStream> #include <QMessageBox> 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; } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
您可能感兴趣的文章
- 04-02c语言没有round函数 round c语言
- 01-10数据结构课程设计-用栈实现表达式求值的方法详解
- 01-10使用OpenGL实现3D立体显示的程序代码
- 01-10深入理解C++中常见的关键字含义
- 01-10求斐波那契(Fibonacci)数列通项的七种实现方法
- 01-10C语言 解决不用+、-、&#215;、&#247;数字运算符做加法
- 01-10使用C++实现全排列算法的方法详解
- 01-10c++中inline的用法分析
- 01-10用C++实现DBSCAN聚类算法
- 01-10深入全排列算法及其实现方法
阅读排行
本栏相关
- 04-02c语言函数调用后清空内存 c语言调用
- 04-02func函数+在C语言 func函数在c语言中
- 04-02c语言的正则匹配函数 c语言正则表达
- 04-02c语言用函数写分段 用c语言表示分段
- 04-02c语言中对数函数的表达式 c语言中对
- 04-02c语言编写函数冒泡排序 c语言冒泡排
- 04-02c语言没有round函数 round c语言
- 04-02c语言分段函数怎么求 用c语言求分段
- 04-02C语言中怎么打出三角函数 c语言中怎
- 04-02c语言调用函数求fibo C语言调用函数求
随机阅读
- 01-10SublimeText编译C开发环境设置
- 04-02jquery与jsp,用jquery
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 01-11ajax实现页面的局部加载
- 01-10C#中split用法实例总结
- 01-10delphi制作wav文件的方法
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-10使用C语言求解扑克牌的顺子及n个骰子