Qt: изменение пользовательской переменной указывает на изменение состояния элемента управления

Можно ли просто указать изменение какого-либо свойства элемента управления Qt путем изменения значения определенной пользователем переменной (выполнить действие по изменению значения). Например. Я объявил int a который часто используется несколькими функциями. Теперь мне нужно построить отношение: if ( a == 0 ) then мой контроль неактивен else мой контроль активен. (Меня вдохновили привязки данных C #.)

1

Решение

В Qt элементы управления включаются / отключаются с помощью QWidget :: setEnabled. Что вам нужно сделать, это создать подкласс, из которого будут получены все ваши графические окна, в котором вы определяете функцию, которая устанавливает эту переменную и вызывает setEnabled. Как это:

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

int a;
};
0

Другие решения

Сигналы / слоты

В ваших методах доступа генерируется сигнал, который подключается к действиям, которые вам нравятся.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector