首页 » 技术分享 » QT实现简单的抽奖界面

QT实现简单的抽奖界面

 

QT实现简单的抽奖界面

自学了一个多月的QT框架,总想写点什么出来,大型的东西知识面还是不够,想起有一次班里搞活动用了一个小小的抽奖软件,当时就觉得,还不错哦,自己能写一个出来就牛逼了呀,所以学了QT之后,自己就花了几十分钟简单的实现一下。其实是很简单的


先上图看看效果

这里写图片描述

这里写图片描述

操作说明

用户只需要设置选取范围,点击开始抽奖即可得到抽奖结果,默认范围是0 - 20。

下面看代码:

代码块

代码块语法遵循标准markdown代码,例如:

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();

private slots:
    void on_pushButton_clicked();//头文件中自动生成按钮响应的槽
    void changSlots();//数字改变的槽

private:
    Ui::Widget *ui;
};

//下面看cpp代码

#include "widget.h"
#include "ui_widget.h"
#include <QTimer> //加入需要的定时器类


Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)  //构造函数
{


    ui->setupUi(this);//QT提供的界面设计
    ui -> lineEdit->setText("20");//设置抽取范围初始值为20
    ui -> label -> setFont(QFont("Timers", 50, QFont::Bold)); 
    ui ->label -> setText("0");
}

Widget::~Widget()
{
    delete ui;
}

void Widget::on_pushButton_clicked()//点击开始抽奖按钮响应的槽
{
    QTimer *timer = new QTimer(this);
    QTimer *timer2 = new QTimer(this);//声明两个定时器
    connect(timer, SIGNAL(timeout()), this, SLOT(changSlots())); //80毫秒后定时改变label中的值

 connect(timer2,SIGNAL(timeout()),timer,SLOT(stop()));

    //两秒后定时关掉定时器timer
    timer -> start(80);
    timer2 -> start(2000);

}
void Widget::changSlots()
{
    QString num = ui -> lineEdit ->text();
    int numb = num.toInt(); //获取选取范围并转换成整形
    int a = qrand() % numb;
    QString s = QString::number(a,10);//将数字转换成字符串形

    ui ->label -> setText(s);//设置到label显示出来

}

//main.cpp中的代码

#include "widget.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.setWindowTitle("随机抽奖");//设置窗口显示标题
    w.setMinimumSize(400,300);
    w.setMaximumSize(400,300);//设置窗口大小不变


    w.show();

    return a.exec();
}


#endif // WIDGET_H

... prompt'''

脚注

该程序QT5.5版本编写的,windows7平台下运行,有什么不足的地方请多多指教。
下面附上源代码:
链接:http://pan.baidu.com/s/1co1rbw 密码:ytnj

转载自原文链接, 如需删除请联系管理员。

原文链接:QT实现简单的抽奖界面,转载请注明来源!

0