gpt4 book ai didi

C++实现幸运大抽奖(QT版)

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 37 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章C++实现幸运大抽奖(QT版)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文实例为大家分享了C++实现幸运大抽奖的具体代码,供大家参考,具体内容如下 。

程序效果:

C++实现幸运大抽奖(QT版)

C++实现幸运大抽奖(QT版)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#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
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#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;
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.

原文链接:https://blog.csdn.net/waldmer/article/details/43953117 。

最后此篇关于C++实现幸运大抽奖(QT版)的文章就讲到这里了,如果你想了解更多关于C++实现幸运大抽奖(QT版)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com