如何在一组小部件被禁用时灰显?

时间:2017-07-23 05:37:56

标签: qt

有一个装满小部件的QGroupBox,所有小部件都需要被禁用并显示为灰色。

setDisabled(true)会在功能上禁用它们,但它们不会变灰。

将它们变为灰色的最简单,最正确的方法是什么? 这应该是标准操作:文本变为灰色,以便用户可以轻松看到它们被禁用。

1 个答案:

答案 0 :(得分:0)

QWidget::setDisabled()还是QWidget enabled property的另一个插槽。

来自Qt doc。:

  

此属性保存窗口小部件是否已启用

     

通常,启用的小部件处理键盘和鼠标事件;禁用的小部件不会。使用QAbstractButton例外。

     

某些小部件在禁用时会以不同方式显示。例如,按钮可能将其标签变为灰色。

(强调我。)

如何显示小部件取决于它们各自的呈现以及应用程序中使用的(默认)QStyle

关于paintEvent()重载的自定义小部件(从任何“内置”Qt小部件派生的类),自定义小部件本身负责相应地呈现不同的状态。