我收到错误:
无法调用成员函数'QMenuBar * QMainWindow :: menuBar()const' 没有对象
在这个函数中,任何想法为什么?
void TextEditor::createMenu(){
menu = new QMenu(tr("&TextEditor"), this);
QMainWindow::menuBar()->addMenu(menu);
menu->addAction(tr("&Bold"), this, SLOT(setBold()), tr("Alt+B"));
menu->addAction(tr("&Underline"), this, SLOT(setUnderline()), tr("ALT+U"));
menu->addAction(tr("&Italics"), this, SLOT(setItalics()), tr("Alt+I"));
}
答案 0 :(得分:3)
问题在于:
QMainWindow::menuBar()->addMenu(menu);
^^^^^^^^^^^^^
方法menuBar()
不是静态方法,你不能在没有对象的情况下调用它。你必须从一个对象中调用它:
main_window_object->menuBar()->addMenu(menu);
... or ...
this->menuBar()->addMenu(menu);
答案 1 :(得分:0)
如果你的TextEditor类继承自QMainWindow,你可以这样调用它。