"双向按钮"示例演示了如何使用状态机框架实现简单的状态机,该状态机在单击按钮时切换当前状态。

  应用程序的main()函数从构造应用程序对象,按钮和状态机开始。

int main(int argc, char **argv){    QApplication app(argc, argv);    QPushButton button;    QStateMachine machine;

  状态机有两个状态;on和off。进入任何一种状态时,按钮的文字都会进行相应的设置。

    QState *off = new QState();    off->assignProperty(&button, "text", "Off");    off->setObjectName("off");

    QState *on = new QState();    on->setObjectName("on");    on->assignProperty(&button, "text", "On");

  当状态机处于该off状态并单击该按钮时,它将过渡到该on状态;当状态机处于该on状态并单击该按钮时,它将转换为该off状态。

    off->addTransition(&button, &QAbstractButton::clicked, on);    on->addTransition(&button, &QAbstractButton::clicked, off);

  状态被添加到状态机;它们成为顶级(同级)状态。

    machine.addState(off);    machine.addState(on);

  初始状态为off; 这是状态机启动后状态机将立即转换到的状态。

    machine.setInitialState(off);    machine.start();

  最后,调整按钮的大小并使其可见,然后进入应用程序事件循环。

    button.resize(100, 50);    button.show();    return app.exec();}

关于更多

  • QtCreator软件可以找到:

  • 或在以下Qt安装目录找到:

C:\Qt\{你的Qt版本}\Examples\{你的Qt版本}\widgets\statemachine\twowaybutton
  • 相关链接
https://doc.qt.io/qt-5/qtwidgets-statemachine-twowaybutton-example.html
  • Qt君公众号回复『Qt示例』获取更多内容。

qt 设置按钮大小_Qt官方示例双向按钮相关推荐

  1. qt label显示文字_Qt官方示例共享内存

    这个例子展示了如何使用QSharedMemory类(共享内存)进行进程间通信.   构建示例,请运行make.要运行该示例,请运行两个实例.main()函数创建一个应用程序和我们示例的Dialog类的 ...

  2. qt label显示图片_Qt官方示例-QML Axes

    QML轴线图示例,折线图,散点图. 使用相同轴坐标的折线图和散点图. 代码: ChartView {title: "Two Series, Common Axes"anchors. ...

  3. logo qt添加_Qt官方示例-窗口标志

    窗口标志示例展示了如何使用Qt中可用的窗口标志类型来指定窗口系统属性. 根据示例整理出来的各窗口标志作用一览表如下: 只能设置一个的窗口标志对照表 窗口标志 描述 Qt::QWidget 窗口的默认属 ...

  4. qt qss设置字体大小_Qt编写自定义控件70-扁平化flatui

    一.前言 对于现在做前端开发人员来说,FlatUI肯定不陌生,最近几年扁平化的设计越来越流行,大概由于现在PC端和移动端的设备的分辨率越来越高,扁平化反而看起来更让人愉悦,而通过渐变色产生的质感色彩反 ...

  5. qt qss设置字体大小_Qt编写自定义控件55-手机通讯录

    一.前言 前面几篇文章中的控件基本上难度系数接近0,甚至有凑控件数量的嫌疑,这次必须来一个强悍的控件,本控件难度系数在所有控件中排前五,代码量也不少,头文件都550行,实现文件1600行,为什么这么多 ...

  6. qt获取combobox的值_Qt官方示例嵌套甜甜圈

    ❝ 本示例演示如何使用QPieSeries API创建嵌套的甜甜圈图. ❞ 创建嵌套甜甜圈图   先创建一个QChartView实例并启用抗锯齿.然后从QChartView实例获得一个QChart对象 ...

  7. qt qss设置字体大小_Qt 第一步 HelloWorld 的第一个程序

    简言 Qt 是基于C++的 GUI 解决方案.QT简单易学(底层封装的好).跨平台.相关资料易得到. 开始写Qt 相关的文章的主要原因是,我本人在编写一个视频录制及相关处理的项目,写到一半发现.net ...

  8. c++ qt获取电脑的内存_Qt官方示例-TCP客户端/服务器示例

    该示例演示了在本地主机上的TCP客户端和服务器是如何通讯的. 客户端 绑定信号槽. connect(&tcpClient, &QAbstractSocket::connected, t ...

  9. c++ qt获取电脑的内存_Qt官方示例信号量

    ❝ 演示Qt多线程的信号量操作编程. ❞   生产者将数据写入缓冲区,直到到达缓冲区末尾为止,然后从头开始重新开始,覆盖现有数据.使用者线程读取生成的数据,并将其写入标准错误.   信号量比互斥量可以 ...

最新文章

  1. Kotlin数组(Array)
  2. 预习一下计算机网络分类,计算机网络实验预习报告1
  3. 使用Spring创建用于JUnit测试的JNDI资源
  4. linux上安装osg_ubuntu 环境 安装OSG
  5. 总说别人掉队的虎嗅 没想到自己先掉队了
  6. 2015-2016前端知识体系(转)
  7. Windows系统经典高级技巧分享
  8. 2020腾讯软件测试实习面经
  9. java对象转换为map
  10. 自己动手实现arping
  11. 百度地图的经纬度转高德地图的经纬度
  12. 高效建站(华为云服务器速成篇)
  13. 微信公众号授权登录,微信sdk的使用,及ios配置微信sdk失败
  14. 12个思维导图工具,像数据科学家一样结构化地思考
  15. B站视频最新下载方法
  16. nested exception is org.apache.ibatis.binding.BindingException: Parameter 'xxxx'解决方案
  17. TIA博途中进行积分运算的具体方法
  18. 来给罗永浩和王自如打个分(下)
  19. 回头再说--跳蚤效应
  20. 曼珠沙华——三途河畔的接引之花(一)

热门文章

  1. python基本对象_python基础教程:运算对象、运算符、表达式和语句
  2. 常见维修电路板技术汇总
  3. 全国高等学校计算机等级考试(江西考区)一级笔试试卷a,全国高等学校计算机等级考试(江西考区)一级笔试试卷A...
  4. php mod11 10公式,mod运算规则
  5. php 怎么防止提交空记录,为什么空提交什么都不提示?
  6. python 将数组转化8位整数_int对象,永不溢出的整数
  7. rss spring 接口_spring 接口支持返回多种格式
  8. ps4修改服务器地区,ps4怎么修改服务器地址
  9. 计算机桌面为什么总是换,你的电脑桌面是什么,
  10. ov5640帧率配置_赛博朋克2077 优化设置大全!帧数50暴涨100