Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: yarick от Январь 01, 2013, 18:47



Название: Как убрать задержку QMenu?
Отправлено: yarick от Январь 01, 2013, 18:47
Контекстное меню появляется не моментально - а постепенно, через увеличение непрозрачности. Как это отключить?


Название: Re: Как убрать задержку QMenu?
Отправлено: kambala от Январь 02, 2013, 01:16
это регулируется на уровне системы


Название: Re: Как убрать задержку QMenu?
Отправлено: yarick от Январь 02, 2013, 11:52
это регулируется на уровне системы
Должен быть способ убрать плавное появление контекстного меню!
У Qt оно отличается от системного к тому же


Название: Re: Как убрать задержку QMenu?
Отправлено: kambala от Январь 02, 2013, 13:58
почему оно отличается от системного?


Название: Re: Как убрать задержку QMenu?
Отправлено: gil9red от Январь 02, 2013, 17:56
Qt ведь юзает апи ос, на которой компилируется, разве нет?? :)
а тут и окна, и контексное меню, и системный трей и его всплывающие сообщения :)
а вот они то и управляются оконным менеджером :)
Поправьте если не прав))

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


Название: Re: Как убрать задержку QMenu?
Отправлено: Old от Январь 02, 2013, 18:19
Должен быть способ убрать плавное появление контекстного меню!
С Qt идет утилитка qtconfig. На странице "Интерфейс" или напрямую в файле конфигурации/реестре (можно посмотреть ее исходники или почитать в документации).



Название: Re: Как убрать задержку QMenu?
Отправлено: Old от Январь 02, 2013, 22:28
Ярик, попробуй в main.cpp после создания экземпляра QApplication:
Код
C++ (Qt)
QApplication::setEffectEnabled ( Qt::UI_FadeMenu, false );


Название: Re: Как убрать задержку QMenu?
Отправлено: yarick от Январь 04, 2013, 21:21
Ярик, попробуй в main.cpp после создания экземпляра QApplication:
Код
C++ (Qt)
QApplication::setEffectEnabled ( Qt::UI_FadeMenu, false );


Спасибо большое, попробую...


Название: Re: Как убрать задержку QMenu?
Отправлено: yarick от Январь 04, 2013, 21:22
Отлично, всё работает, это именно то что мне нужно, спасибо!