這篇文章給大家分享的是有關(guān)C++如何實現(xiàn)幸運大抽獎的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
10年積累的成都做網(wǎng)站、成都網(wǎng)站制作經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有青龍免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。具體內(nèi)容如下
程序效果:
#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("幸運大抽獎"));//設(shè)置窗口標題 label1 = new QLabel; label1->setText(tr("開始幸運大抽獎")); QFont font; font.setBold(true);//設(shè)置字體為粗體 font.setPointSize(80);//設(shè)置字號 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);//設(shè)置layout大小和控件尺寸一致,使窗口不能更改大小 QFile file("student.txt"); if (file.open(QFile::ReadOnly))//以只讀的方式打開student.txt文件 { QTextStream stream(&file); while(!stream.atEnd()) { strlist.append(stream.readLine());//將文件內(nèi)容放到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,設(shè)置按鈕標題為“停止” tm->start(50);//啟動計時器,沒0.05秒執(zhí)行一次on_timer函數(shù) status = false; }else { btn1->setText("開始");//如果isok為false,設(shè)置按鈕標題為“開始” tm->stop();//停止計時器 status = true; } } void Dialog::on_timer() { if (strlist.count() == 0) { return ;//如果strlist中沒有內(nèi)容,函數(shù)返回 } static int i = 0; label1->setText(strlist[i]);//從0到strlist.count(),循環(huán)顯示strlist中每一項的內(nèi)容 i++; if (i >= strlist.count()) { i = 0; } }
感謝各位的閱讀!關(guān)于“C++如何實現(xiàn)幸運大抽獎”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。