我试图在 QDialog 中添加菜单栏,但出现以下错误:
error: 'class Qt_Stackwidget' has no member named 'menuBar'
QMenuBar* menubar = this->menuBar();
我很困惑为什么会这样。我搜索了一下,发现QDialog没有名为menuBar()的函数。如何将菜单栏添加到 QDialog.谁能帮我解决这个问题吗?
最佳答案
您可以添加这样的菜单栏:
#include <QtGui>
class Dialog : public QDialog
{
public:
Dialog(QWidget *parent = 0) : QDialog(parent)
{
QVBoxLayout *layout = new QVBoxLayout;
setLayout(layout);
QMenu *menu = new QMenu("File");
menu->addAction("Exit");
QMenuBar *menubar = new QMenuBar();
menubar->addMenu(menu);
layout->setMenuBar(menubar);
}
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton *button = new QPushButton("Button");
Dialog *dialog = new Dialog;
dialog->layout()->addWidget(button);
dialog->show();
return app.exec();
}
关于c++ - 在qt中添加菜单栏时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29050126/