有一个装满小部件的QGroupBox,所有小部件都需要被禁用并显示为灰色。
setDisabled(true)会在功能上禁用它们,但它们不会变灰。
将它们变为灰色的最简单,最正确的方法是什么? 这应该是标准操作:文本变为灰色,以便用户可以轻松看到它们被禁用。
答案 0 :(得分:0)
QWidget::setDisabled()
还是QWidget
enabled
property的另一个插槽。
来自Qt doc。:
此属性保存窗口小部件是否已启用
通常,启用的小部件处理键盘和鼠标事件;禁用的小部件不会。使用QAbstractButton例外。
某些小部件在禁用时会以不同方式显示。例如,按钮可能将其标签变为灰色。
(强调我。)
如何显示小部件取决于它们各自的呈现以及应用程序中使用的(默认)QStyle
。
关于paintEvent()
重载的自定义小部件(从任何“内置”Qt小部件派生的类),自定义小部件本身负责相应地呈现不同的状态。