Qt实现名字的"幸运大抽奖"

2019-07-13 01:20发布

class="markdown_views prism-atom-one-light"> 话不多说,上图: 幸运大抽奖
/*----------------Luck.h--------------------*/ #ifndef DIALOG_H #define DIALOG_H #include #include #include #include #include #include class Dialog : public QDialog { Q_OBJECT public: Dialog(QWidget *parent = 0); ~Dialog(); private slots: void add(); void on_time(); private: QPushButton * btn1; QLabel * label1; QTimer * timer; }; #endif // DIALOG_H /*----------------Luck.h--------------------*/ /*----------------Luck.cpp--------------------*/ #include "dialog.h" Dialog::Dialog(QWidget *parent) : QDialog(parent) { setWindowTitle(tr("Qt幸运大抽奖")); timer = new QTimer(this); btn1 = new QPushButton; label1 = new QLabel; QFont font1("Microsoft YaHei", 30,25); QFont font2("Fantasy",20); label1->setFont(font1); label1->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter); label1->setText(tr("点击↓开始")); btn1->setFont(font2); btn1->setText(tr("幸运大抽奖")); QGridLayout *layout = new QGridLayout(this); layout->addWidget(label1, 0 ,1); layout->addWidget(btn1, 1, 1); connect(btn1,SIGNAL(clicked()),this,SLOT(add())); connect(timer,SIGNAL(timeout()),this,SLOT(on_time())); } Dialog::~Dialog() { } void Dialog::add() { if(timer->isActive()) { setWindowTitle(tr("Qt本轮幸运得主:")); timer->stop(); btn1->setText(tr("幸运大抽奖")); }else { setWindowTitle(tr("Qt抽奖中...")); timer->start(30); btn1->setText(tr("暂停")); } } void Dialog::on_time() { FILE * file; static int a = 0; file = fopen("C:\Users\Administrator\Desktop\xixi.txt","r"); char buf[10]; memset(buf, 0, sizeof(buf)); s1: int i = 0; a++; while(fgets(buf, sizeof(buf),file)) { if( ++i == a) { QString s1 = QString::fromLocal8Bit(buf); label1->setText((s1)); break; } } if(feof(file)) { a = 0; rewind(file); goto s1; } fclose(file); } /*----------------Luck.cpp--------------------*/ /*----------------main.cpp--------------------*/ #include "dialog.h" #include #include #include int main(int argc, char *argv[]) { QApplication a(argc, argv); Dialog w; w.show(); return a.exec(); } /*----------------main.cpp--------------------*/