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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как убрать задержку QMenu?  (Прочитано 6135 раз)
yarick
Гость
« : Январь 01, 2013, 18:47 »

Контекстное меню появляется не моментально - а постепенно, через увеличение непрозрачности. Как это отключить?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #1 : Январь 02, 2013, 01:16 »

это регулируется на уровне системы
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
yarick
Гость
« Ответ #2 : Январь 02, 2013, 11:52 »

это регулируется на уровне системы
Должен быть способ убрать плавное появление контекстного меню!
У Qt оно отличается от системного к тому же
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #3 : Январь 02, 2013, 13:58 »

почему оно отличается от системного?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #4 : Январь 02, 2013, 17:56 »

Qt ведь юзает апи ос, на которой компилируется, разве нет?? Улыбающийся
а тут и окна, и контексное меню, и системный трей и его всплывающие сообщения Улыбающийся
а вот они то и управляются оконным менеджером Улыбающийся
Поправьте если не прав))

Ярик, вы ведь можете переопределить, например, событие клика по виджету, отлавливать нажатие правой кнопки мыши и показывать свое контексное меню (например, обычный виджет без рамки) Улыбающийся
Или переопределить событие contextMenuEvent и от него "плясать" дальше Улыбающийся
Записан

Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #5 : Январь 02, 2013, 18:19 »

Должен быть способ убрать плавное появление контекстного меню!
С Qt идет утилитка qtconfig. На странице "Интерфейс" или напрямую в файле конфигурации/реестре (можно посмотреть ее исходники или почитать в документации).

Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #6 : Январь 02, 2013, 22:28 »

Ярик, попробуй в main.cpp после создания экземпляра QApplication:
Код
C++ (Qt)
QApplication::setEffectEnabled ( Qt::UI_FadeMenu, false );
Записан
yarick
Гость
« Ответ #7 : Январь 04, 2013, 21:21 »

Ярик, попробуй в main.cpp после создания экземпляра QApplication:
Код
C++ (Qt)
QApplication::setEffectEnabled ( Qt::UI_FadeMenu, false );


Спасибо большое, попробую...
Записан
yarick
Гость
« Ответ #8 : Январь 04, 2013, 21:22 »

Отлично, всё работает, это именно то что мне нужно, спасибо!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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