美文网首页C++
8.QT线程及timer使用--Apple的学习笔记

8.QT线程及timer使用--Apple的学习笔记

作者: applecai | 来源:发表于2021-07-13 21:29 被阅读0次

    一,前言

    之前提及了我将来的单机版小工具设想,应该会使用古老的MCV架构,然后可能会用到线程及配合timer使用。所以今天就先练习下线程。

    二,自定义需求

    使用timer和线程做一个5s倒计时显示工具。配色使用之前学习过的QSS。

    三,遇到的问题

    1. Widget窗体无法通过qss添加背景?
    解决方法:因为没有打包mainwindow到Widget。我用的是ui文件。设置Widget后所有widget背景都变了。后来我添加了一个graphicview控件来添加qss背景图片。
    2. 按钮按下后设置失效,qss如何设置?
    解决方法:之前pushbutton只了解了hover悬停的qss设置方法,其实还是很多状态,比如disabled状态。所以设置按钮无效情况下。可以用QPushButton:disabled来设置。我一开始还想复杂了,差点要用重绘功能了,哈哈~
    3. qss如何仅对同类的某一个对象进行美化?
    解决方法:类后面加对象名即可,比如QPushButton#pushButton:hover
    4. 窗体的最小化和最大化按钮隐藏方法?
    解决方法:网上搜索了好多方法,我用的是setWindowFlags(Qt::WindowCloseButtonHint);
    5. 如何做一个简单的提示音?
    解决方法:qt6.02没有sound控件,最简单的提示音就用系统默认的QApplication::beep();

    四,效果

    image.png

    动态效果:点击按钮启动倒计时,未完成5s倒计时则按钮失效。5s到后PC会发出beep声音提示


    5s.gif

    五,小结

    这个倒计时器也算是一个综合性的小工具的练习。麻雀虽小,五脏俱全。将来可以作为独立的widget嵌入到其它工具中了。哈哈~

    相关文章

      网友评论

        本文标题:8.QT线程及timer使用--Apple的学习笔记

        本文链接:https://www.haomeiwen.com/subject/hhtlpltx.html