[Qt]解决QPushButton的toggled无法触发setvisible

原创文章,欢迎转载。转载请注明:转载自 祥的博客

原文链接:http://blog.csdn.net/humanking7/article/details/44095283


发现问题

我想做一个番茄钟软件,顺便学习一下Qt。但是在做的时候发现toggled无法触发setvisible(),对比《C++ GUI Qt4编程》的源码之后发现是一个关于QPushButton的细节问题没有搞清楚。

想完成的效果如下图:

[Qt]解决QPushButton的toggled无法触发setvisible_第1张图片


解决方案

QPushButton 必须是 checkable 的,在使用用 Designer 设计时必须选上。

具体操作如下图:

[Qt]解决QPushButton的toggled无法触发setvisible_第2张图片


问题探索

默认状况下checkable是不选中的,Button默认为触发按钮 (trigger button),按下去马上弹起来

选中checkable后,Button变成切换按钮 (toggle button),可以有两种状态:按下 / 弹起,这也就是为什么Task List按钮在两幅图中状态的差别。

[Qt]解决QPushButton的toggled无法触发setvisible_第3张图片

你可能感兴趣的:(Qt,Qt实用Trick)