Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: yesrus от Март 14, 2009, 15:31



Название: Диалоговое окно с автоматическим нажатием кнопки через n секунд
Отправлено: yesrus от Март 14, 2009, 15:31
Здравствуйте!
Подскажите пожалуйста как можно реализовать сабж...
Идея такова-после нажаия кнопки или по сигналу создаем окно..с 3 кнопками: 1 отмена и 2 управляющих, при этом на одной из них идет отсчет циферками..скажем от 5 до 0, после того как досчитает до 0 автоматически нажимается 1 кнопка.
Можно ли это реализовать в основном потоке без заморозки интерфейса ? Или нужно управление данной фукцией производить в дочернем потоке ?
qt 4.5


Название: Re: Диалоговое окно с автоматическим нажатием кнопки через n секунд
Отправлено: Пантер от Март 14, 2009, 15:34
Тут тебе таймеры помогут. Устанавливаешь таймер, и по сигналу уменьшаешь счетчик.


Название: Re: Диалоговое окно с автоматическим нажатием кнопки через n секунд
Отправлено: yesrus от Март 14, 2009, 18:19
Спасибо!
Возник еще 1 вопрос- есть слот
Код:
void dialog::upText(const int &se) {
      QString sec;
      sec.setNum(se);
      ui.da->setText("Да(" + sec + ")");

}
Вылезают кракозябры...
Если писать просто
Код:
ui.da->setText(tr("Да"));
То все ок, как исправить ? =( (setText использовать обязательно т.к. там динамически отсчет идет)  ???


Название: Re: Диалоговое окно с автоматическим нажатием кнопки через n секунд
Отправлено: BRE от Март 14, 2009, 18:26
То все ок, как исправить ? =( (setText использовать обязательно т.к. там динамически отсчет идет)  ???
Код
C++ (Qt)
ui.da->setText( tr( "Да (%1)" ).arg( se ) );
 


Название: Re: Диалоговое окно с автоматическим нажатием кнопки через n секунд
Отправлено: yesrus от Март 14, 2009, 19:32
Спасибо!