0
아래 코드에서 Quit 위젯의 응용 프로그램, 기본 클래스 QMainWindow 및 .ui 형식을 만들지 않습니다. 왜 MenuBar가 표시되지 않고 다른 변형을 시도했는지 아무도 알 수없는 이유를 이해합니다. This image demonstrate what i got.Qt MainWindow가 MenuBar를 표시하지 않습니다
시스템 우분투 16.04. QMake 버전 3.0 및 Qt 버전 5.5.1 사용
참고 : 다른 컴퓨터에서는 동일한 코드가 올바르게 작동합니다. mainwindow.cpp 아래 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
아래
는, 선 내가 그것을 해결하기 위해 시도하는 방법을 보여줍니다 댓글을 달았습니다.
#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()
{
}
당신이 QVBoxLayout을 만들 이유가 이해하지 않지만, 심지어 그와 코드가 작동하고 내가 메뉴를 관찰, 당신은 [, 최소를 완료하고 검증 가능한 예 (https://stackoverflow.com/help/를 제공해야합니다 mcve), 그것은 당신의 오류를 재현 코드, 그리고 나는 그것이 내가 코드를 사용하기 때문에없는보고가 명백하게는 QWidget에 위젯을 변경, 작은 수정을하고 작품. – eyllanesc
문제는 다른 컴퓨터에서 동일한 코드가 작동한다는 것입니다. 내 컴퓨터에서만 잘못된 결과가 표시됩니다. –
그런 다음 Qt를 다시 설치하고 다시 실행하십시오. 특히 특별한 대답은 SO에서 대답 할 수 없습니다. – eyllanesc