光柵大家,Qt的添加菜單欄,菜單和子菜單的QMainWindow
我也很難添加菜單欄,菜單和使用代碼子菜單的Qt的QMainWindow。
下面的代碼與產生誤差運行:
QWidget的:: setLayout的:嘗試設置QLayout 「」 上的QMainWindow 「」,它已經具備了佈局
注: *。主窗口出來,沒有任何菜單或佈局
#include <QApplication>
#include <QApplication>
#include<QSlider>
#include<QSpinBox>
#include<QHBoxLayout>
#include<QWidget>
#include "mainwindow.h"
#include<QMenuBar>
#include<QStatusBar>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QMenuBar *menu = new QMenuBar;
QMenu *file = new QMenu();
file->addMenu("&File");
menu->addMenu(file);
QSlider *s1 = new QSlider(Qt::Horizontal);
QSlider *s2 = new QSlider(Qt::Vertical);
QSpinBox *sb = new QSpinBox;
QHBoxLayout *L = new QHBoxLayout;
L->addWidget(s1);
L->addWidget(s2);
L->addWidget(sb);
QMainWindow *w = new QMainWindow;
w->setLayout(L);
w->show();
return a.exec();
}
不幸的是,我曾經使用QT設計師這是非常容易創建菜單和快速。但是,我很快會有一個考試,可以要求在紙上寫代碼! 如果有更簡單的方法可以做到這一點,請讓我知道。 –
你爲什麼要設置'QMainWindow'的佈局?你究竟在努力實現什麼?如果你想在'QMainWindow'的上下文中實現某些功能,你通常會在從'QWidget'派生的類中實現這個功能,然後將一個指向該類的實例的指針傳遞給['QMainWindow :: setCentralWidget']( http://doc.qt.io/qt-5/qmainwindow.html#setCentralWidget)。 –
@ G.M。謝謝,我已經解決了這個問題。只是爲了澄清,我曾經使用QWidget,而不是QMainWindow,它工作,但我不能添加菜單欄 –