Использование строки меню Unity в Qt

У меня есть простое главное окно Qt:

// ui/mainwindow.hpp
class MainWindow: public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget* parent = 0);
public slots:
private:
};

// ui/mainwindow.cpp
MainWindow::MainWindow(QWidget* parent): QMainWindow(parent)
{
QMenu* menuFile = menuBar()->addMenu(tr("File"));
menuFile->addAction(tr("Some"));
}

// Application entry
int main(int argc, char* argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}

Я заметил, что в Ubuntu и Unity строка меню отображается не в верхней части экрана, а внутри окна приложения.

Как сделать так, чтобы строка меню отображалась в верхней части экрана?

0

Решение

Какую версию Qt вы используете?

  • Для Qt 4.8 пакет appmenu-кварта должен быть установлен.
  • Для Qt 5.2+ пакет appmenu-qt5 должен быть установлен и QT_QPA_PLATFORMTHEME = appmenu-qt5` устанавливается в среде

На самом деле это не то, что вы влияете на стороне разработчика приложения.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]