Russian Qt Forum

Qt => Вопросы новичков => Тема начата: b3lll от Апрель 28, 2016, 00:06



Название: Не отображается меню
Отправлено: b3lll от Апрель 28, 2016, 00:06
Добрый день! Начал изучать qt и возник такой вопрос.
Есть такой код:

Код:
#include <QApplication>
#include <QMenu>
#include <QMenuBar>
#include <QMainWindow>

int main(int argc, char *argv[])
 {
   QApplication app(argc, argv);
   QMainWindow *mainw=new QMainWindow;
   mainw->resize(400,300);
   QMenuBar *menu=new QMenuBar(mainw);

   QMenu *qmenu=new QMenu(menu);
   qmenu->addMenu("&File");
   qmenu->addMenu(qmenu->addMenu("&Open"));


   mainw->show();
   return app.exec();
}

Компилируется нормально, при запуске голое окно, меню отсутствует. В чем я ошибся? Спасибо.


Название: Re: Не отображается меню
Отправлено: Bepec от Апрель 28, 2016, 02:55
Код:
mainw->setMenuBar(menu);

И да, qmenu у вас не связано с menu, потому у вас будет пустой QMenuBar :)


Название: Re: Не отображается меню
Отправлено: b3lll от Апрель 28, 2016, 08:43
Добавил, не отображается.

Разобрался, добавил

Код:
qmenu->show();

Теперь меню отображается вне окна...


Название: Re: Не отображается меню
Отправлено: PimenS от Апрель 28, 2016, 10:16
Код:
qmenu->show();

Теперь меню отображается вне окна...

Так не надо.

Надо так:

Код:
QAction *QMenuBar::addMenu(QMenu *menu)


Название: Re: Не отображается меню
Отправлено: b3lll от Апрель 28, 2016, 10:33
Работает, спасибо за ответы.