【嵌入式学习——项目总结】QT项目:简易计时器

最近学习QT,简单总结下计时器的完成过程。

新建项目

1.点击文件,新建文件或项目
在这里插入图片描述

2.点击下面的选项
在这里插入图片描述

3.在这里写项目的名称在这里插入图片描述

4.点击下一步
在这里插入图片描述

5.操作完以下这些,点下一步
在这里插入图片描述

6.点击完成
在这里插入图片描述
新建好的项目如下
在这里插入图片描述

UI设计

点击widget.ui进入UI设计页面,进行相关设计
在这里插入图片描述

代码编写

设计思路:

  1. 打开页面的时候,显示0,只有开始按钮可以点击,其余的按钮不可点击;
  2. 点击 开始/继续 按钮的时候,数字随时间往上加,每一秒一变;
  3. 按下 暂停 按钮的时候,数字不再发生变化,且 开始 按钮不可点击;
  4. 按下 停止 按钮的时候数字变为0,变为初始状态,只有 开始 按钮可以点击,其余的按钮不可点击;
  5. 当按下 暂停 后,还可以按继续按钮,数字继续往上加。

1.在.h文件中初始化界面:开始的时候显示0

ui->setupUi(this);
ui->text->setText("0");

2.由于要用到计时器需要引入头文件:

#include <QTimer>

3.在.h文件中的类中定义一个指针变量:

private:
    QTimer *timer;

4.文本框功能的编写:
自己编写一个槽函数void updateSlot();实现数字的显示,之后与定时器绑定它,当计时器接收到相关信号后执行槽函数,如下:

void Widget::updateSlot()
{
    n++;
    ui->text->setText(QString::number(n));
}

在此之前还需要初始化一下n

private:
    int n = 0;

绑定:

timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(updateSlot()));

5.将三个按钮分别转到槽:
在这里插入图片描述

在这里插入图片描述
然后自动得到三个槽函数:

	void on_btnstart_clicked();
    void on_btnstop_clicked();
    void on_btnpause_clicked();

开始按钮:

void Widget::on_btnstart_clicked()
{
    timer->start(1000);
    ui->btnstart->setEnabled(false);
    ui->btnstop->setEnabled(true);
    ui->btnpause->setEnabled(true);
}

暂停按钮:

void Widget::on_btnpause_clicked()
{
    timer->stop();
    ui->btnstart->setEnabled(true);
    ui->btnstop->setEnabled(true);
    ui->btnpause->setEnabled(false);
}

停止按钮:

void Widget::on_btnstop_clicked()
{
    timer->stop();
    n = 0;
    ui->text->setText(QString::number(n));
    ui->btnstart->setEnabled(true);
    ui->btnstop->setEnabled(false);
    ui->btnpause->setEnabled(false);
}

6.加入各个按钮的初始化状态及其变化状态
初始化时:

ui->btnstart->setEnabled(true);
ui->btnstop->setEnabled(false);
ui->btnpause->setEnabled(false);

其余各个状态已经放到上面各自的槽函数中了!

至此,项目基本完成;显示效果如下:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
显示的位置还可以使用LCD显示效果会更好!

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值