Russian Qt Forum
Сентябрь 30, 2024, 18:25 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Диалоговое окно с автоматическим нажатием кнопки через n секунд  (Прочитано 3387 раз)
yesrus
Гость
« : Март 14, 2009, 15:31 »

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

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Март 14, 2009, 15:34 »

Тут тебе таймеры помогут. Устанавливаешь таймер, и по сигналу уменьшаешь счетчик.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
yesrus
Гость
« Ответ #2 : Март 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 использовать обязательно т.к. там динамически отсчет идет)  Непонимающий
Записан
BRE
Гость
« Ответ #3 : Март 14, 2009, 18:26 »

То все ок, как исправить ? =( (setText использовать обязательно т.к. там динамически отсчет идет)  Непонимающий
Код
C++ (Qt)
ui.da->setText( tr( "Да (%1)" ).arg( se ) );
 
Записан
yesrus
Гость
« Ответ #4 : Март 14, 2009, 19:32 »

Спасибо!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.072 секунд. Запросов: 20.