Qt:更改用户变量表示控件状态的变化

时间:2012-11-05 17:18:39

标签: c++ qt data-binding

是否可以通过更改用户定义变量的值来简单地指示某些Qt控件属性的更改(对更改值执行操作)。例如。我宣布了多个函数经常使用的int a。现在我需要构建一个关系:if ( a == 0 ) then我的控件处于非活动状态else我的控件处于活动状态。 (我的灵感来自C#数据绑定。)

2 个答案:

答案 0 :(得分:0)

Signals/Slots

在你的存取方法中,发出一个连接你想要发生的动作的信号。

答案 1 :(得分:0)

在Qt中,使用QWidget :: setEnabled启用/禁用控件。您需要做的是创建一个子类,从中派生所有gui窗口,在其中定义一个设置此变量并调用setEnabled的函数。像这样:

class Widget : public QWidget
{
   ...
   MySetEnabled(bool b)
   {
      a = b;
      setEnabled(b);
   }

   int a;
};