Qt не отображается меню

257
07 октября 2017, 21:13

widget.h :

#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QMenu>
#include <QAction>
#include <QMenuBar>
#include <QLabel>
#include <QMainWindow>
class Widget : public QWidget
{
    Q_OBJECT
private:
    QAction* action;
    QLabel* lbl;
    QMenuBar* bar;
    QMenu* menu;
public:
    Widget(QWidget *parent = 0);
    ~Widget();
public slots:
    void slotOnActionTriggered();
};
#endif // WIDGET_H

widget.cpp :

#include "widget.h"
#include <QDebug>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    action = new QAction(this);
    action->setCheckable(true);
    action->setText("Action");
    action->setShortcut(QKeySequence(Qt::CTRL+Qt::Key_A));
    QObject::connect(action,SIGNAL(triggered(bool)),this,SLOT(slotOnActionTriggered()));
    bar = new QMenuBar(this);
    menu = new QMenu("&Menu",bar);
    bar->addMenu(menu);
    lbl=new QLabel("",this);
    bar->show();
}
Widget::~Widget()
{
}
void Widget::slotOnActionTriggered(){
    static bool triggered = false;
    if(triggered){
        lbl->setText("");
        triggered = true;
    }
    else{
        lbl->setText("Action triggered");
        triggered = false;
    }
}

main.cpp :

#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}

Все равно не отображается меню. Просто пустое окошко. Пробовал наследоваться от QMainWindow и делать QMainWindow::setMenuBar(), не помогает.

Работаю из под Mac.

READ ALSO
Ошибка, я тупой не понял что не так

Ошибка, я тупой не понял что не так

Всем привет, нужна помощьвот код

278
Зависание GUI при изменении QProgressBar из QThread с помощью сигналов

Зависание GUI при изменении QProgressBar из QThread с помощью сигналов

Зависает GUI при изменении QProgressBar из QThread с помощью сигналов

323
Ошибка в cstdio (нет fgetpos и fsetpos)

Ошибка в cstdio (нет fgetpos и fsetpos)

Здравствуйте! Пытаюсь установить YouCompleteMe для подсказок в Vim

403
Ошибка линковки Qt+VS

Ошибка линковки Qt+VS

Использую библиотеки Qt56 под VS2013

361