Qt按钮为什么设置了三态点击样式效果,无法得到预期,enabled属性为何无法选中 - C/C++解惑之Qt
来源:互联网 发布:人脸变老软件电脑版 编辑:程序博客网 时间:2024/04/30 08:30
QT版本: 4.8.5
全套QT下载地址 含安装手册 访问密码 aaf6
如何设置三态效果
关于QT的三态效果,网上资料还是很多的,我就不贴代码了。
利用setStyleSheet用html语言给按钮添加三态属性
范例代码;
范例代码;
ui->按钮对象名->setStyleSheet("QPushButton{border-image: url(:/new/icons/icons/play.png);}" "QPushButton:hover{border-image: url(:/new/icons/icons/play-hover.png);}" "QPushButton:pressed{border-image: url(:/new/icons/icons/play-pressed.png);}");
影响按钮三态点击效果的原因
我们接下来谈谈如何造成非预期效果的其中一种情况。
原来enabled属性是罪魁祸首:
enabled属性介绍:
这个属性,大意上理解就是,选中时,是常规按钮。若未选中,则禁用该按钮不与用户做交互。
根据上面的简述,我们不难看出,如果enabled属性未选中,禁用按钮就是影响三态点击效果的罪魁
enabled属性如何设置:
UI设计师模式 - 傻瓜式设置:
选中你想要设置的按钮 --- > 属性 --- > QWidget --- > enabled 属性
注意:若点击想要设置的按钮,未看到属性操作界面,请点击菜单栏内的 控件(先按Alt再按W) --- > 视图(W) --- > 重置为默认布局
代码命令模式 - 程序员式:
ui->按钮对象名->setEnabled(true);
为什么代码设置enabled还是无法得到预期的三态效果
为什么enabled设计师模式里无法设置
怎么办
这个问题,大家可以看看,该按钮的父类,即其所属的窗口,是否未选中enabled属性。 未选中,则将其选中。
查看窗口属性方式与查看普通按钮属性方式相似,点击窗口的空白处(即无控件的地方)即可查看设置属性
为什么
因为按钮是继承窗口的公有属性的,所以窗口enabled属性如果禁用了,其所属子类也会强行继承这一特点。
换个角度来说,如果作者想让整个窗口都禁用交互,从正常逻辑的角度,其窗口内所存放的按钮也应该都禁用,这才更符合作者的预期。
未尽事宜:
我只是把自己遇到的一些小问题总结一下,跟大家分享,如若有错的地方,勿喷,希望大家多多提醒,我会改正。
------------------------------------------------------------------------------------------------------------------------------------------
QT setStyleSheet 利用宏快速设置按钮的三态点击效果
2 0
- Qt按钮为什么设置了三态点击样式效果,无法得到预期,enabled属性为何无法选中 - C/C++解惑之Qt
- Window下Qt无法加载动静态库解决方案 - C/C++解惑之Qt Creator
- Qt利用样式表实现三态按钮
- Qt实现自定义按钮的三态效果
- Qt实现自定义按钮的三态效果
- Qt实现自定义按钮的三态效果
- QT:三态按钮
- Qt按钮三态
- Qt之qss实现按钮三态.
- QT实现按钮的三态
- Qt 按钮设置样式表
- 单选按钮点击无法选中
- Qt 为何toggled无法触发setvisible
- QT设置ToolButton按钮的样式
- QT设置ToolButton按钮的样式
- Qt quick 按钮控件及其样式设置
- qt linux 无法显示最小化, 最大化按钮
- 关于Qt MainWindow工程中qPushbutton按钮无法点击的问题
- tomcat配置文件server.xml详解
- 使用 Maven Profile 和 Filtering 打各种环境的包
- selenium webdriver使用笔记
- Android 系统语言切换监听和设置
- 在控制台和mfc平台下调用caffe库会出现的bug及解决办法
- Qt按钮为什么设置了三态点击样式效果,无法得到预期,enabled属性为何无法选中 - C/C++解惑之Qt
- 程序设计语言学习笔记
- 碎碎念_天天更
- MFC控件实例之Slider Control实例
- 【多校】ZZULIOJ 1919 D
- 二分图--最大匹配
- caffe使用draw_net.py网络结构绘制
- Fiddler使用和数据抓包
- 55. Jump Game