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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Доступность пункта меню  (Прочитано 2475 раз)
StogovOleg
Гость
« : Октябрь 12, 2007, 21:13 »

Доброго времени суток.

Есть пункт главного меню. По нажатию на него создается окно с флагами WShowModal и WType_TopLevel. Конструктор этого окна отрабатывает около 10 секунд за это время пользователь может нажать на этот пункт меню еще несколько раз и откроется несколько таких окон, что недопустимо. Пробовал следующий код:

for (int i = 0; i < menuBar()->count(); i++)
{
    menuBar()->setItemEnabled(menuBar()->idAt(i), FALSE);
}
//после чего вызываю конструктор окна
MyWin *My_Win = new MyWin();
My_Win->show();


меню становиться не активным только когда появиться окно, поэтому пользователь все равно может несколько раз нажать на пункт меню.
Почему пункты меню становяться не активными только после появления окна?
Записан
Вячеслав
Гость
« Ответ #1 : Октябрь 12, 2007, 21:21 »

А например после цикла QCoreApplication::processEvents позвать ? Не полегчает ?
Записан
StogovOleg
Гость
« Ответ #2 : Октябрь 12, 2007, 21:31 »

забыл сказать, использую qt-3.3.3, там нет класса QCoreApplication, спасибо за предложение принудительно прогнать очередь событий.
в моей версии попробую вызвать QEventLoop::processEvents
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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