Qt デスクトップ アプリケーションのビルトイン メニュー バーにメニュー項目を追加する際に問題が発生しています。QMainWindow クラスのリファレンス ドキュメントで提供されている、メニューを作成するためのコードを非常に単純なアプリケーションにコピーしました。残念ながら、コードを実行しても表示されませんでした。メニューバーに「ファイル」メニューを追加しようとしています。Mac OSX 10.9.3 と Qt Creator 5.3.1 を実行しています。
私のコードのスクリーンショットは以下のとおりです。mainwindow.cpp ソースで、コメントなしとコメント付きの両方のコードを試しました。
メインウィンドウ.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
//myMenuBar = menuBar();
//fileMenu = myMenuBar -> addMenu(tr("&File"));
fileMenu = menuBar() -> addMenu(tr("&File"));
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
メインウィンドウ.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QMenuBar>
#include <QMenu>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
QMenuBar* myMenuBar;
QMenu* fileMenu;
};
#endif //MAINWINDOW_H
main.cpp
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
ComeOnMenuBar.pro
#-------------------------------------------------
#
# Project created by QtCreator 2014-08-12T02:28:33
#
#-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = ComeOnMenuBar
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
どんな助けでも本当に感謝します! ありがとうございました!
注: setNativeMenuBar(false) の使用が機能することはわかっていますが、Mac OS のネイティブ メニュー バー (左上隅に表示されるもの) を機能させたいと考えています。