|
1Qter豆
#ifndef WIDGET_H#define WIDGET_H
#include <QWidget>#include <QMenu>#include <QMenuBar>#include <QAction>class Widget : public QWidget{ Q_OBJECT
public: Widget(QWidget *parent = 0); ~Widget();private: QMenu *menu[3]; QAction *act[2]; QMenuBar *menubar;
};
#endif // WIDGET_H
#include "widget.h"
Widget::Widget(QWidget *parent) : QWidget(parent){ menu[0]=new QMenu("File",this); menu[0]->addAction("Edit"); menu[0]->addAction("close"); menu[0]->addAction("save"); act[0]=new QAction("new",this); act[0]->setShortcut(Qt::CTRL|Qt::Key_A); act[0]->setStatusTip("this is a new menu"); act[1]=new QAction("Open",this); act[1]->setCheckable(true); menu[1]=new QMenu("save",this); menu[1]->addAction(act[0]); menu[1]->addAction(act[1]); menu[2]=new QMenu("Print"); menu[2]->addAction("Page Setup"); menu[2]->addMenu(menu[1]); menubar->addMenu(menu[2]); menubar->addMenu(menu[0]);}
Widget::~Widget(){
}
#include "widget.h"#include <QApplication>
int main(int argc, char *argv[]){ QApplication a(argc, argv); Widget w; w.show();
return a.exec();}调试信息:
Starting H:\C++\build-QMenu_QMenubar-Desktop_Qt_5_5_1_MinGW_32bit-Debug\debug\QMenu_QMenubar.exe...
程序异常结束。
H:\C++\build-QMenu_QMenubar-Desktop_Qt_5_5_1_MinGW_32bit-Debug\debug\QMenu_QMenubar.exe crashed
|
最佳答案
查看完整内容
menubar 还没 new 出来
加上 menubar = new QMenuBar(this);
|