2015-03-14 4 views
2

Я пытался добавить строку меню в QDialog но получил следующее сообщение об ошибке:Ошибки при добавлении строки меню в квартах

error: 'class Qt_Stackwidget' has no member named 'menuBar' 
     QMenuBar* menubar = this->menuBar(); 

я был смущен, почему это так. Я искал и получил, что QDialog не имеет функции function с именем menuBar(). Как добавить меню в QDialog. Может ли кто-нибудь помочь мне решить эту проблему?

ответ

2

Вы можете добавить строку меню, как это:

#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(); 
} 

enter image description here

Смежные вопросы