2012-02-28 2 views
3

Я разрабатываю оконное приложение с Qt, C++ во встроенной Linux. Использование типа QApplication QApplication :: GUIServerОтключить контекстное меню заголовка главного окна

Я пытаюсь отключить контекстное меню, которое появляется, когда пользователь щелкает правой кнопкой мыши по области заголовка приложения, той, которая дает возможность изменять размер, перемещать, закрывать и т. Д. Приложение.

Я уже пробовал настройку ContextMenuPolicy для PreventContextMenu в главном окне и предоставление специального обработчика контекстного меню в главное окно.

Заранее спасибо.

ответ

2

Возможно, вы не сможете отключить это меню, поскольку это предоставляется диспетчером окон, а не приложением.

Единственным вариантом может быть запрос, чтобы строка заголовка удалялась windowFlags.

+0

Я обновил свой вопрос с важной деталью, он встроен в Linux, а окно управляется QApplication :: GUIServer типа QApplication. Наверное, это связано с моим решением, я направил свой поиск в этом направлении. – bmkorkut

+0

Мне нужен заголовок. Думаю, я собираюсь удалить фактическое название и просто поставить поддельный с ярлыками. – bmkorkut

0

Это системное меню, которое обычно обрабатывает ваш менеджер Windows. Все, что может сделать QT, - это намек на Window Manager, чтобы включить/отключить некоторые из его функций.

Вы должны установить QWidget::setWindowFlags (Qt::WindowFlags type), возможно, флаг Qt::WindowSystemMenuHint.

+0

Просто попробовал эти флаги, но не работал. Спасибо, в любом случае. – bmkorkut

0

Попробуйте это: setWindowFlags (Qt :: FramelessWindowHint | Qt :: WindowTitleHint);

Смежные вопросы