這篇文章給大家分享的是有關C++如何實現(xiàn)幸運大抽獎的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)建站主要從事成都做網(wǎng)站、成都網(wǎng)站建設、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務臨沂,十余年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:18980820575
具體內(nèi)容如下
程序效果:


#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());//將文件內(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,設置按鈕標題為“停止”
tm->start(50);//啟動計時器,沒0.05秒執(zhí)行一次on_timer函數(shù)
status = false;
}else
{
btn1->setText("開始");//如果isok為false,設置按鈕標題為“開始”
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;
}
}感謝各位的閱讀!關于“C++如何實現(xiàn)幸運大抽獎”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
當前名稱:C++如何實現(xiàn)幸運大抽獎
轉(zhuǎn)載源于:http://chinadenli.net/article6/jpciog.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化、品牌網(wǎng)站設計、靜態(tài)網(wǎng)站、關鍵詞優(yōu)化、企業(yè)網(wǎng)站制作、虛擬主機
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)