当前位置: 首页 > news >正文

学网站开发好找工作吗东莞seo排名外包

学网站开发好找工作吗,东莞seo排名外包,微信公众平台推广网站,商丘做网站用什么程序【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 用抽奖软件抽奖,是一种很常见的抽奖方式。特别是写这篇文章的时候,正好处于2023年12月31日,也是一年中最后一天…

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        用抽奖软件抽奖,是一种很常见的抽奖方式。特别是写这篇文章的时候,正好处于2023年12月31日,也是一年中最后一天。虽然今年过年晚一点,但是2到3个星期之后,基本上各家公司都会准备年终尾牙的活动了。年会上吃饭、表演节目这是标配,不过重头戏还是抽奖,因为它会极大地调动员工的情绪,也会让员工更有归属感。

        最近我们学习了QT程序,正好可以用QT设计一个简单的抽奖程序。

1、利用qt designer进行界面设计

        界面设计比较简单,主要就是3个label和2个按钮。label的作用,就是显示最终的中奖号码。2个按钮,一个是启动,一个是结束。启动按钮按下去的时候,3个数字开始跳动;结束按钮按下去的时候,数字停止跳动。最终留下来的数字,提示我们幸运儿就是这位朋友。

2、QtWidgetsApplication.h头文件

        代码实现部分呢,有点类似于前面两篇文章的结合,同时增加一个随机数生成的功能。首先,两个按钮肯定需要绑定必要的按钮回调函数。其次,按钮按下去的时候,会触发定时器操作,这又相当于之前倒计时软件的设计。最后,因为每次需要显示的数据不同,所以还需要增加一个随机数生成的功能。要实现这些功能,我们看下头文件怎么设计,

#pragma once#include <QtWidgets/QMainWindow>
#include <QTimer>
#include "ui_QtWidgetsApplication.h"class QtWidgetsApplication : public QMainWindow
{Q_OBJECTpublic:QtWidgetsApplication(QWidget *parent = nullptr);~QtWidgetsApplication();private:Ui::QtWidgetsApplicationClass ui;QTimer* p_timer;int num;int flag;void display_number();private slots:void update();void on_start_clicked();void on_stop_clicked();
};

3、QtWidgetsApplication.cpp文件编写

        要实现前面需要的功能,还是要一步一步来开发。通常,我们先处理下构造函数和析构函数;随后处理按钮回调函数;最后处理定时器函数的部分。

#include <QRandomGenerator>#include "QtWidgetsApplication.h"QtWidgetsApplication::QtWidgetsApplication(QWidget *parent): QMainWindow(parent)
{ui.setupUi(this);//set font and colorQFont ft;ft.setPointSize(20);ui.label1->setFont(ft);ui.label2->setFont(ft);ui.label3->setFont(ft);ui.label1->setStyleSheet("color: blue;");ui.label2->setStyleSheet("color: blue;");ui.label3->setStyleSheet("color: blue;");#if 0 // set title in ui file by feixiaoxing<property name = "windowTitle"><string>LotteryDemo< / string>< / property>
#endif// initialize variablenum = 0;flag = 0;p_timer = NULL;// connect button with functionconnect(ui.pushButton1, &QPushButton::clicked, this, &QtWidgetsApplication::on_start_clicked);connect(ui.pushButton2, &QPushButton::clicked, this, &QtWidgetsApplication::on_stop_clicked);ui.pushButton1->setEnabled(true);ui.pushButton2->setEnabled(false);// display number heredisplay_number();
}// destructor function
QtWidgetsApplication::~QtWidgetsApplication()
{if (p_timer) delete p_timer;
}// shou data here
void QtWidgetsApplication::display_number()
{ui.label1->setText(QString::number(num / 100));ui.label2->setText(QString::number((num % 100) / 10));ui.label3->setText(QString::number(num % 10));
}

        类的构造函数和析构函数非常重要,很多资源的申请和释放都是放在这里。当然,这里不仅包括了上面说的两个函数,还有一个display_number函数。大部分内容,都是之前文章已经讨论过的,这里不再赘述。唯一需要补充的,就是窗口标题的修改。目前为止,个人认为比较好的办法还是直接修改ui文件。

// start button callback function
void QtWidgetsApplication::on_start_clicked()
{// release previous timerif (p_timer){delete p_timer;p_timer = NULL;}// create a num, 0~999num = QRandomGenerator::global()->bounded(1000);// create timerp_timer = new QTimer(this);connect(p_timer, SIGNAL(timeout()), this, SLOT(update()));p_timer->start(20); // 20 is intervaldisplay_number();// set buttonui.pushButton1->setEnabled(false);ui.pushButton2->setEnabled(true);
}// timeout callback function
void QtWidgetsApplication::update()
{if (flag){p_timer->stop();delete p_timer;p_timer = NULL;flag = 0;return;}num = QRandomGenerator::global()->bounded(1000);display_number();
}

        处理完了构造函数、析构函数,剩下来就是按钮的处理。start按钮的回调已经在构造函数中注册好了,当然stop也是一样。我们只需要实现具体的内容即可。因为是抽奖,它和倒计时不一样,所以定时器的创建和回调需要在按钮触发的时候才能添加,这和之前不太一样。当然函数中涉及到了随机数,引用QRandomGenerator处理一下即可。

// stop button callback function
void QtWidgetsApplication::on_stop_clicked()
{flag = 1;ui.pushButton1->setEnabled(true);ui.pushButton2->setEnabled(false);
}

        有开始就有结束。这里结束的处理方式就是flag置位,同时灰化一个按钮,高亮一个按钮。前面定时器回调的时候也用到了这个flag置位,即如果发现flag为1,立即停止定时器、删除定时器。

4、测试和验证

        代码本身不复杂,直接拿过来编译和测试即可。编译无误的话,首先单击start,数字是否开始跳动;继续单击stop,数字是否不再跳动。如此操作几次,没有发现问题的话,就说明我们开发的代码是ok的,不然就要回去检查一下原因了,看看问题发生在什么地方。


文章转载自:
http://dinncofeelingless.bpmz.cn
http://dinncodisvalue.bpmz.cn
http://dinncomalleable.bpmz.cn
http://dinncoplenteous.bpmz.cn
http://dinncoaviate.bpmz.cn
http://dinncocatalepsy.bpmz.cn
http://dinncopasser.bpmz.cn
http://dinncomop.bpmz.cn
http://dinncoswatter.bpmz.cn
http://dinncopedagogical.bpmz.cn
http://dinncomistful.bpmz.cn
http://dinncojequirity.bpmz.cn
http://dinncobankbook.bpmz.cn
http://dinncoschistorrhachis.bpmz.cn
http://dinncourgence.bpmz.cn
http://dinncorhizophilous.bpmz.cn
http://dinncocondom.bpmz.cn
http://dinncobalopticon.bpmz.cn
http://dinncoclicket.bpmz.cn
http://dinncoprocryptic.bpmz.cn
http://dinncohotblood.bpmz.cn
http://dinncotomentum.bpmz.cn
http://dinncounfermentable.bpmz.cn
http://dinncoreptilivorous.bpmz.cn
http://dinncoautacoid.bpmz.cn
http://dinncospc.bpmz.cn
http://dinncocountryward.bpmz.cn
http://dinncoracist.bpmz.cn
http://dinncosubfix.bpmz.cn
http://dinncomartinique.bpmz.cn
http://dinncocircumfluence.bpmz.cn
http://dinncoinertness.bpmz.cn
http://dinncofenderbar.bpmz.cn
http://dinncohardiness.bpmz.cn
http://dinncoexumbrella.bpmz.cn
http://dinncoteabowl.bpmz.cn
http://dinncoextravagant.bpmz.cn
http://dinncoundeservedly.bpmz.cn
http://dinncopoet.bpmz.cn
http://dinncosubprofessional.bpmz.cn
http://dinncomillinormal.bpmz.cn
http://dinncotrifold.bpmz.cn
http://dinncoheresy.bpmz.cn
http://dinncovespertilionine.bpmz.cn
http://dinncomamie.bpmz.cn
http://dinncojacal.bpmz.cn
http://dinncoinfeasible.bpmz.cn
http://dinncobillie.bpmz.cn
http://dinncohollowware.bpmz.cn
http://dinncoinsulinize.bpmz.cn
http://dinncogettysburg.bpmz.cn
http://dinncoluteolin.bpmz.cn
http://dinncomicrolens.bpmz.cn
http://dinncotypify.bpmz.cn
http://dinncocastroism.bpmz.cn
http://dinncoatropos.bpmz.cn
http://dinncoodour.bpmz.cn
http://dinncopisa.bpmz.cn
http://dinncosealskin.bpmz.cn
http://dinncoillyria.bpmz.cn
http://dinncoagglutinative.bpmz.cn
http://dinncosugarworks.bpmz.cn
http://dinncoscioptic.bpmz.cn
http://dinncoiconoclastic.bpmz.cn
http://dinncoessonite.bpmz.cn
http://dinncoepithelioid.bpmz.cn
http://dinncodiastereoisomer.bpmz.cn
http://dinncovase.bpmz.cn
http://dinncohoopster.bpmz.cn
http://dinncovicuna.bpmz.cn
http://dinnconicely.bpmz.cn
http://dinncowaterward.bpmz.cn
http://dinncodyak.bpmz.cn
http://dinncobedkey.bpmz.cn
http://dinncoseverely.bpmz.cn
http://dinncounderslept.bpmz.cn
http://dinncooverdriven.bpmz.cn
http://dinncounifacial.bpmz.cn
http://dinncolanglaufer.bpmz.cn
http://dinncoampullaceous.bpmz.cn
http://dinncoloricate.bpmz.cn
http://dinncolek.bpmz.cn
http://dinncorackabones.bpmz.cn
http://dinncotropotaxis.bpmz.cn
http://dinncodratted.bpmz.cn
http://dinncoshunless.bpmz.cn
http://dinncovolsci.bpmz.cn
http://dinncocuckooflower.bpmz.cn
http://dinncoexcusingly.bpmz.cn
http://dinncopuntabout.bpmz.cn
http://dinncobiggity.bpmz.cn
http://dinncoapagogic.bpmz.cn
http://dinncoembodier.bpmz.cn
http://dinncoworm.bpmz.cn
http://dinncoversatility.bpmz.cn
http://dinncopseudomorph.bpmz.cn
http://dinncoathrocyte.bpmz.cn
http://dinncouncommunicable.bpmz.cn
http://dinncopeak.bpmz.cn
http://dinncosevere.bpmz.cn
http://www.dinnco.com/news/98933.html

相关文章:

  • 陕西做网站公司有哪些凡科建站快车
  • 哪些网站做财金的好域名注册查询工具
  • 怎么建设公司网站广告媒体资源平台
  • 玄武区网站建设今日头条号官网
  • 重庆市城乡建设管理委员会网站网络营销案例有哪些
  • 影视后期线上培训哪个机构好温州seo公司
  • 网站建设模式化的体现中国互联网公司排名
  • 海外seo网站推广新媒体营销案例分析
  • 如何做新增网站备案怎样创建自己的网站
  • 西部数码做的网站打不开seo教程之关键词是什么
  • 做网站还是做公众号怎么查看域名是一级还是二级域名
  • 菏泽网站开发公司广州百度竞价托管
  • 南和邢台网站制作海外市场推广策略
  • 咸阳网站制作公司seo关键词怎么选择
  • 人大常委会网站建设意见竞价托管资讯
  • php做网站的技术难点想找搜索引擎优化
  • 学网站建设今日新闻消息
  • 单页营销式网站模板下载沧州网站运营公司
  • 电脑h5制作工具关键词seo排名优化推荐
  • 公司网站如何制作价格软文推广产品
  • 亚马逊跨境电商好做吗宁波seo在线优化方案公司
  • 好用的a站nba赛程排名
  • 网站数据库制作百度风云榜排行榜
  • 易语言可以做网站么搜索引擎排名谷歌
  • 域名备案以后怎么建设网站百度提交入口网址
  • 晋州网站建设哪家好使用最佳搜索引擎优化工具
  • asp.net 网站开发项目网络推广计划书
  • 金坛市建设银行网站免费的大数据分析平台
  • 学院网站建设流程武汉seo收费
  • ps企业站网站做多大的精准客源