Qt MainWindow не показывает MenuBar

В приведенном ниже коде я создаю приложение Qt Widget, базовый класс QMainWindow и без формы .ui.
Не могу понять, почему MenuBar не показывает, пробовал разные варианты и никто не работает.

Это изображение демонстрирует, что я получил

.

Система Ubuntu 16.04.
Использование QMake версии 3.0 и Qt версии 5.5.1

Примечание: на других машинах тот же код работает правильно.

Ниже mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QtGui>
#include <QWidget>

class MainWindow : public QMainWindow
{
Q_OBJECT

public:
MainWindow(QWidget *parent = 0);
~MainWindow();
private:
QMenu *file;
};

#endif // MAINWINDOW_H

Ниже mainwindow.cpp закомментированные строки показывают, как я пытался это исправить.

#include "mainwindow.h"#include <QtGui>
#include <QtWidgets>

MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
//QVBoxLayout *vbl = new QVBoxLayout;
QMenu *file = new QMenu("&File"); //menuBar()->addMenu("&File");//new QMenu("&File");
file->addAction("&Quit",qApp,SLOT(quit()),Qt::CTRL+Qt::Key_Q);QMenuBar *mb = menuBar();

mb->addMenu(file);
mb->show();
setMenuBar(mb);

//vbl->setMenuBar(mb);
//setLayout(vbl);

resize(400,400);
}

MainWindow::~MainWindow()
{

}

0

Решение

После некоторых исследований и переустановки всех компонентов я решил эту простую проблему. Необходимо изменить параметр «Системные настройки -> Внешний вид -> Поведение» для «Показать меню для окна» с «В строке меню» на «В строке заголовка окна». Спасибо всем, кто пытался помочь.

1

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

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

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