发新帖本帖赏金 10.00元(功能说明)我要提问
12下一页
返回列表
打印

QT上位机开发入门教程:001点亮虚拟数码管

[复制链接]
5844|37
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
第一课我们先学会使用数码管小挂件,制作一个显示电脑时间的工具。

接下来一步一步讲怎么做,
第一步先新建一个小挂件程序工程

接下来系统会帮助创建好一个工程模板,接下来我们在工程目录中的Forms找到ui文件,双击进入程序设计功能。
我们在左边的显示挂件区找到LCD Number,拖动到程序的空白主窗口内,调整大小和布局样式。

接下来进入一个关键的设置,就是设置数码管的位数,比如你买数码管都是要考虑显示多少位的数字或字符的。

比如你要显示12:05:35
数一下是多少位?一共8位,所以我这里就设置为8.这是设置为默认值的,程序里也可以修改属性里的所有参数的。
不过为了简单,我们都在这里设置,那程序里就简单了,方便入门。
接下来实现时间显示功能了,我们可以直接调用系统的时间显示,那么多久刷新一次呢?500ms,或者1000ms。
这里可以用定时器做,因此还要引入
#include <QTimer>
#include <QTime>
一个是定时器,一个是获取时间
所以接下来要实现一个显示时间的函数
void MainWindow:: showTime()
{
    QTime time= QTime::currentTime();
    QString txtTime= time.toString("hh:mm:ss");
     qDebug()<<txtTime;
ui->lcdNumber->display(txtTime);
}
说明:先获取当前时间,然后将时间信息转化为字符串,那个时间转字符串是有格式说明的,hh:mm:ss,这三个分别代表小时分钟秒,中间是分隔符,可以选中改函数后按F1查看详细的说明。
然后就是输出调试信息,用来确认后面的数码管显示是否对,然后就是显示到数码管,这个函数只接受字符串。
另外如果你忘了在小挂件属性设置显示的位数,默认是显示5位,你会看到mm:ss的信息,而看不到hh
如果这里设置数码管位数可以用
ui->lcdNumber->setDigitCount(8);
注意所有的对象设置属性都是用set开头+属性名字;
接下来实现定时器功能,并将定时器跟显示函数关联上
在主要初始化函数内增加以下内容
QTimer *timer =new QTimer(this);
    connect(timer,SIGNAL(timeout()),this,SLOT(showTime()));
    timer->start(500);
创建定时器,链接定时器超时与SLOT,SLOT这个后面讲是什么,先照着做。或者自己查看HELP。
启动定时器,设置为500ms超时信号
在头文件增加
public slots:
    void showTime();
这样就OK,可以编译了,记住,推荐选择mingw的编译器。
效果就出来了。
该例子的完整工程分享如下
游客,如果您要查看本帖隐藏内容请回复





使用特权

评论回复

打赏榜单

21小跑堂 打赏了 10.00 元 2021-01-21
理由:恭喜通过原创文章审核!请多多加油哦!

相关帖子

沙发
xuanhuanzi| | 2020-12-10 11:58 | 只看该作者
学习学习。

使用特权

评论回复
板凳
xuanhuanzi| | 2020-12-10 11:58 | 只看该作者
学习学习。

使用特权

评论回复
地板
caizhiwei| | 2020-12-10 14:01 | 只看该作者
学习看看牛X了呢

使用特权

评论回复
5
WoodData| | 2020-12-10 15:06 | 只看该作者
学习一下

使用特权

评论回复
6
LUOTYB| | 2020-12-13 09:06 | 只看该作者
支持LZ由浅到深讲解

使用特权

评论回复
7
踟蹰路上| | 2020-12-15 13:58 | 只看该作者
谢谢分享

使用特权

评论回复
8
zgf449400| | 2020-12-15 16:20 | 只看该作者
学习

使用特权

评论回复
9
zgf449400| | 2020-12-15 16:24 | 只看该作者
技术高, 上个 QT 打包的 教程和文件了, 我发现 VC做出来的 执行文件 ,.exe,不需要环境 就能执行

使用特权

评论回复
10
发呆二极管| | 2020-12-22 16:43 | 只看该作者
感谢分享学习资料

使用特权

评论回复
11
huli184| | 2020-12-25 09:42 | 只看该作者
学习一下.

使用特权

评论回复
12
fsdragon01| | 2020-12-29 18:16 | 只看该作者
谢谢分享

使用特权

评论回复
13
wfw69| | 2021-1-5 10:49 | 只看该作者
学习了,谢谢楼主的分享!

使用特权

评论回复
14
ranqiguo| | 2021-1-13 11:34 | 只看该作者
学习学习

使用特权

评论回复
15
artruth| | 2021-1-17 21:24 | 只看该作者
学习一下,有用

使用特权

评论回复
16
oytz193| | 2021-2-22 09:09 | 只看该作者
推荐选择mingw的编译器

使用特权

评论回复
17
gaoyang9992006|  楼主 | 2021-2-22 09:22 | 只看该作者
oytz193 发表于 2021-2-22 09:09
推荐选择mingw的编译器

说的对,我也一直推荐用这个,这个兼容性非常好。

使用特权

评论回复
18
copower| | 2021-2-23 06:13 | 只看该作者
都说Qt容易学,比Delphi和C#还容易吗?

使用特权

评论回复
19
弓长月月鸟| | 2021-2-23 12:43 | 只看该作者

使用特权

评论回复
20
游在云间| | 2021-4-13 15:55 | 只看该作者
时间不刷新 ,下载看看

使用特权

评论回复
发新帖 本帖赏金 10.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:西安公路研究院南京院
简介:主要工作从事监控网络与通信网络设计,以及从事基于嵌入式的通信与控制设备研发。擅长单片机嵌入式系统物联网设备开发,音频功放电路开发。

1971

主题

15978

帖子

210

粉丝