我想以编程方式(使用代码)在QMainWindow中添加一个QGraphicsView(它的一个名为Menu的子类)。
事实上我已经这样做但问题是嵌入式QGraphicsView没有显示。
这是我在QMainWindow :: init()
中使用的代码menuView=new Menu(this);
menuView->show();
我已经创建了场景并在Menu类中插入了项目。
怎么了?
答案 0 :(得分:2)
试
menuView=new Menu(this);
menuView->show();
QLayout* layout=new QVBoxLayout();
layout->addWidget(menuView);
this->setLayout(layout);
如果您没有使用布局,或
menuView=new Menu(this);
menuView->show();
QLayout* layout=this->layout();
layout->addWidget(menuView);
this->setLayout(layout);
如果您的表单已有布局。
答案 1 :(得分:2)
使用QMainWindow时,请使用setCentralWidget:
int main( int argc, char** argv ) {
QApplication app( argc, argv );
...
QMainWindow mw;
Menu menu;
mw.setCentralWidget( &menu );
mw.show();
return app.exec();
}