mainWindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <qmenu.h>
#include <qaction.h>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
    QMenu *m_menuEdit;
    QAction *m_actionNew;
    QAction *m_actionFullScreen;

    void CreateMenuBar();
};

#endif // MAINWINDOW_H

mainWindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <qkeysequence.h>


MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    CreateMenuBar();
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::CreateMenuBar()
{
    m_actionNew = new QAction(QString::fromUtf8("新建(&N"), 0);
    ui->menu_file->addAction(m_actionNew);

    m_menuEdit = new QMenu(QString::fromUtf8("编辑(&E)"));
    m_actionFullScreen = new QAction(QString::fromUtf8("全屏"), 0);
    m_actionFullScreen->setShortcut(QKeySequence(QString::fromUtf8("Ctrl+Shift+F11"))); //设置快捷键
    m_menuEdit->addAction(m_actionFullScreen);
    ui->menuBar->addMenu(m_menuEdit);

    this->connect(m_actionFullScreen, SIGNAL(triggered(bool)), this, SLOT(showMaximized())); //通过信号槽建立响应
}

ui
Qt主窗口:创建菜单栏

相关文章: