Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Jkc от Апрель 06, 2005, 10:04



Название: Как посмотреть состояние кнопки toggleButton
Отправлено: Jkc от Апрель 06, 2005, 10:04
Как посмотреть состояние кнопки свойства toggleButton из другого класса. Класс отвечает за приём сигнала, и нужно знать реагировать на сигнал или нет, т.е. Нажата ли кнопка га главной форме или не нажата.


Название: Как посмотреть состояние кнопки toggleButton
Отправлено: Hellenna от Апрель 06, 2005, 11:45
вариант 1.
Код:
if(myButton->state()==QButton::Off){
//не нажата
}
else if(myButton->state()==QButton::On){
//нажата
}

вариант 2:
при нажатии кнопку ставить\снимать какой-нибудь флажок. Если флажок стоит - обрабатывать сигнал, если нет - пропускать.


Название: Как посмотреть состояние кнопки toggleButton
Отправлено: Jkc от Апрель 06, 2005, 12:40
А как быть если проверку нужно выполнить с другого класса, допустим класс обработки сообщений, ему нужно посмотреть нажата кнопка или нет.


Название: Как посмотреть состояние кнопки toggleButton
Отправлено: GrolfCry от Апрель 06, 2005, 13:11
if (btnSetDateFilter->isOn())
   {
      return QString("(time_event>='"+dteBegin->date().toString("MM.dd.yyyy")+"') and (time_event<='"+dteEnd->date().toString("MM.dd.yyyy")+" 23:59:59')");
   }
   else
   {
      return "";
   }


Название: Как посмотреть состояние кнопки toggleButton
Отправлено: GrolfCry от Апрель 06, 2005, 13:12
QObject::connect(btnSetDateFilter,SIGNAL(toggled(bool)),this,SLOT(setFiltered()));
В методе  setFiltered делай что-нибудь типа
emit setFiltered()

а в другом классе сделай коннект к этому сигналу