【发布时间】:2017-12-15 06:39:38
【问题描述】:
我需要创建一个具有三种状态的按钮:
- 未点击
- 中级
- 点击
我想用这个按钮实现的逻辑是,每当点击这个按钮时,我希望系统进入中间状态并等待一个事件。
当状态转换为unclicked --> intermediate -- > clicked然后clicked --> intermediate -->unclicked时。
Qt 支持实现这种按钮吗?如果有,怎么做?
【问题讨论】:
-
如何使用普通按钮并为中间状态赋予不同的颜色(或以某种方式改变外观)?
-
如果您只想遍历所有状态,那么只需创建一个按钮并在内部创建一个状态值 0,然后每次单击只需将 1 向左或向右移动:
clicked -> state <<=1 | state >>=1然后你有 3 个状态,0 未点击,1 不确定,2 被点击 -
甚至可以尝试重新实现 QPushButton
标签: c++ qt user-interface qpushbutton tri-state-logic