不二如是 发表于 2016-10-19 15:02:53

95-创建第一个LCD表(QTimerEvent + qrand())

本帖最后由 不二如是 于 2016-10-19 16:32 编辑

在94,基础上添加LCD部件,并引入qrand()随机数。

当然了,如果你忘了LCD的几条基本属性设置,点他弹过去自觉面壁吧

几个程序中必须要用到的流程:

在构造函数中开启一个1s定时器,像之前的2s定时器为了演示,不很常用。

当他溢出时就会发射timeout()信号,此时执行定时器溢出处理函数。

在槽里面将当前时间转换为可以显示的字符串。

利用QTime类的second()函数获取秒值。

QTime类的secsTo()函数,他表示两个时间点之间所包含的秒数。

qrand()要获取一个范围内的数值时,一般是让他与一个整数取余。

我就拿qrand() % 300,就是生成(0-299)之间的任意整数啦。

QTimer类中还有一个singleShot()函数来开启一个只运行一次的定时器,让程序11s后自动关闭

好了,上程序~~~~~~~~~~~~~~~~~~~~












**** Hidden Message *****

wei_Y 发表于 2016-10-19 15:41:40

不二!
判断滚动条是否停止有什么好方法吗。
不用QTimer。

不二如是 发表于 2016-10-19 15:56:07

wei_Y 发表于 2016-10-19 15:41
不二!
判断滚动条是否停止有什么好方法吗。
不用QTimer。

滚动条QScroll Bar和QTimer有啥关系。。。

滚动条里面的tracking会自动跟踪滚动条,发射valuechanged()
直接调用这个,停止就不再发射信号了呗

wei_Y 发表于 2016-10-19 17:36:57

不二如是 发表于 2016-10-19 15:56
滚动条QScroll Bar和QTimer有啥关系。。。

滚动条里面的tracking会自动跟踪滚动条,发射valuechanged ...

是啊,valueChanged是滚动时发射的信号。
但是停止时怎么判断,QT好像没有提供相应的信号。

比如这么一个效果。

我往下滚动(其实本来只写了"滚"{:10_282:} ),
下拉的区域就有变化,不拉的时候就变回去。

上也同样。怎么做。

不二如是 发表于 2016-10-19 17:48:25

wei_Y 发表于 2016-10-19 17:36
是啊,valueChanged是滚动时发射的信号。
但是停止时怎么判断,QT好像没有提供相应的信号。



我现在没在电脑前面…准备锻炼去了

待我明天早上看下一哈,你可以先看看我之前那个介绍有帮助没?
再不行度娘{:5_91:}

不二如是 发表于 2016-10-19 17:50:16

wei_Y 发表于 2016-10-19 17:36
是啊,valueChanged是滚动时发射的信号。
但是停止时怎么判断,QT好像没有提供相应的信号。



是不是tracking没有选上?

wei_Y 发表于 2016-10-19 17:55:03

不二如是 发表于 2016-10-19 17:50
是不是tracking没有选上?

去吧去吧,度娘谷哥都搜了,
用QTimer判断是否停止的,
想了很久也没想出其他办法来问问你咯。

ccitllz 发表于 2023-7-23 11:43:36

1
页: [1]
查看完整版本: 95-创建第一个LCD表(QTimerEvent + qrand())