2009-11-02 3 views
2

Я бы хотел, чтобы мое приложение выглядело так же, как у Windows-версии: вместо того, чтобы меню было перемещено в верхнее меню в Os X, я бы хотел, чтобы моя программа имела файл непосредственно поверх самого приложения.Windows-подобный Qt4 Menubar в Mac Os X

Я рассмотрел документацию Qt по этому вопросу, но я не могу создать пустой QMenuBar как верхний уровень QMenuBar. (Я использую подкласс QMainWindow ...)

+8

Вы собираетесь рассказать своим пользователям, если они ведут себя как приложение Windows. –

+0

Если вы просматриваете полноэкранное приложение, что происходит с панелью меню? –

+4

Пожалуйста, не делайте этого. –

ответ

5

Это плохая идея и не выиграет поклонников приложений в сообществе Mac. Here - Руководство по интерфейсам Apple.

5

Зачем ему это нужно? Вот несколько мониторов. Полная боль в keester для перемещения мыши с монитора, на котором вы работаете, обратно на главный монитор, чтобы получить доступ к строке меню, а затем полностью назад к монитору, в котором вы были. Я думаю, что это будет FANTASTIC, если больше Mac-приложения, по крайней мере, имели возможность разместить свое меню непосредственно в окне приложения.

+2

Даже на том же мониторе, если я переключаюсь между двумя окнами, и мне нужно получить доступ к их меню, это странный танец для мыши. – fortran

+0

Вы должны узнать больше о UI/UX на платформе Mac OS X. Особенно ** почему ** людям нравится платить намного больше, чем Windows. – Eonil

+0

Основная проблема с mac заключается в том, что это mac ... –

2

Первая строка меню, которую вы создаете, становится основной панелью меню. Вы можете попытаться создать манекен сразу после создания QApplication. Возможно, вы захотите поместить хотя бы команду quit.

В качестве альтернативы, вы можете позвонить по телефону QApplication::setAttribute с помощью Qt::AA_DontUseNativeMenuBar. Однако я не знаю, что будет заполнять макросменку в этом случае.