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

网站开发mvc架构网文网站排名

网站开发mvc架构,网文网站排名,重庆网站建设公司在线联系,wordpress 增加备案【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 倒计时软件是生活中经常遇到的一种场景。比如运动跑步,比如学校考试,比如论文答辩等等,只要有时间限制规定的地…

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

        倒计时软件是生活中经常遇到的一种场景。比如运动跑步,比如学校考试,比如论文答辩等等,只要有时间限制规定的地方,我们都会遇到倒计时的一些设备。目前在电商网站上面,可以找到很多这类的倒计时工具,不过既然我们学习了QT平台,那么完全可以用它来实现一个简单的倒计时软件。

        为了简单演示一下,我们设计了AA:BB的形式,其中AA代表分钟,BB代表秒。启动之后,每隔1s,BB会递减1,如果不够,就会从AA借数。等到AA和BB变成00之后,会有一个弹窗弹出来。整个逻辑就是这么一个过程。

1、设计界面

        界面部分前面也说过,就是使用AA:BB的部分来完成的。所以,为了方便,就直接用qt designer来设计即可,

        截图上来看,中间显示部分字体偏小。不过没有关系,这部分后期可以通过编码的方法来进行解决。

2、QtWidgetsApplication1.h中添加变量和回调函数

        所谓变量,主要就是定时器和初始值。而回调函数,则是每次定时器调用的子函数。这部分和之前的按钮回调函数一样,也是槽函数,所以也会多一个关键字slots。此外,我们把字符的更新动作也单独设计成了一个函数display_number。

#pragma once#include <QtWidgets/QMainWindow>
#include <QTimer>
#include "ui_QtWidgetsApplication1.h"class QtWidgetsApplication1 : public QMainWindow
{Q_OBJECTpublic:QtWidgetsApplication1(QWidget *parent = nullptr);~QtWidgetsApplication1();private:Ui::QtWidgetsApplication1Class ui;QTimer* p_timer;int total;void display_number();private slots:void update();
};

3、QtWidgetsApplication1.cpp功能实现

        要实现倒计时的功能,首先肯定要初始化好构造函数。前面我们说过,在类定义里面会添加一些变量,那么在类开始构造的时候,就要初始化这些变量,这就包括了定时器和初始值。另外,因为整体字体比较小,这里也一并处理了一下。

#include <QApplication>
#include <QPushButton>
#include <QMessageBox>
#include "QtWidgetsApplication1.h"QtWidgetsApplication1::QtWidgetsApplication1(QWidget *parent): QMainWindow(parent)
{ui.setupUi(this);//set fontQFont ft;ft.setPointSize(20);ui.label_1->setFont(ft);ui.label_2->setFont(ft);ui.label_3->setFont(ft);ui.label_4->setFont(ft);ui.label_5->setFont(ft);// set total valuetotal = 1800;// set timerp_timer = new QTimer(this);connect(p_timer, SIGNAL(timeout()), this, SLOT(update()));p_timer->start(1000); // 1000 is intervaldisplay_number();
}// destructor function
QtWidgetsApplication1::~QtWidgetsApplication1()
{if (p_timer){delete p_timer;}
}

        如代码所示,这里创建了一个周期为1000ms的定时器,它的回调函数是update,初始值是1800。所以,根据这些信息,我们继续查看定时器的回调函数update,

// timeout callback function
void QtWidgetsApplication1::update()
{total -= 1;display_number();if (total == 0){p_timer->stop();delete p_timer;p_timer = NULL;QMessageBox::information(this, "tip", "Timeout!");}
}

        回调函数update的逻辑还是很清晰的,每1s递减1,直到数值为0结束。这个时候,停止定时器、删除定时器、跳出弹框。当然,每次更新数值后,更新数值也是必不可少的,所以这里还有一个display_number的函数。

// shou data here
void QtWidgetsApplication1::display_number()
{ui.label_1->setText(QString::number((total / 60) / 10));ui.label_2->setText(QString::number((total / 60) % 10));ui.label_3->setText(QString::number((total % 60) / 10));ui.label_4->setText(QString::number((total % 60) % 10));
}

        display_number的内容比较简单,首先计算分钟的十分位和个位,接着计算秒钟的十分位和个位。最后把这些数值贴到label1、label2、label3、label4上面,这样就达到了数值更新的效果。

4、测试和验证

        测试的话就比较简单,直接编译后启动即可。首先查看数字是否发生跳变。

        如果ok,再检验超时之后是否有弹窗,一切都没有问题的话就可以了。反之,就要回头debug,单步调试下,看看问题出在哪。

http://www.hrbkazy.com/news/5988.html

相关文章:

  • 网站要学什么seo实训报告
  • 外贸做的亚马逊网站是哪个新疆疫情最新情况
  • wordpress漏洞利用工具优化关键词方法
  • 如何免费学校建网站百度推广账号出售
  • 网络系统管理学什么二十条优化措施全文
  • 北京营销策划公司英文seo
  • 建设银行网站查余额查询石家庄seo公司
  • 上海网站制作工具重庆百度seo整站优化
  • php网站开发视频教学营销手段有哪些方式
  • 河南建设厅网站网站开发工具
  • 徐州做网站哪个好建立一个企业网站需要多少钱
  • 漳州做网站建设的公司昆山网站制作哪家好
  • 代做广联达 的网站搜索引擎推广的三种方式
  • 做新媒体国外网站郑州网站营销推广
  • 上海网站建设电影联成都百度提升优化
  • 国内 扁平化 网站线上营销平台有哪些
  • visual studio做网站百度手机浏览器下载
  • 自媒体交易网站开发怎样加入网络营销公司
  • 网站系统php源码泉州全网营销
  • 徐州做网站费用广州网络推广外包
  • 建设设计网站友情链接交换条件
  • 滨州网站建设制作系统生意参谋指数在线转换
  • 怎样做科技小制作视频网站重大新闻事件
  • 电子商务网站开发与实现软文标题大全
  • 苏州网站开发服务百度首页优化
  • 网站建设很难吗站长工具
  • 做百度网站还是安居客网站谷歌怎么投放广告
  • 备案的域名做电影网站贵州seo技术培训
  • 关于网站建设相关文章如何刷seo关键词排名
  • 平台网站建设公司网站数据统计工具