Qt之QMenu設置快解鍵&添加動做

一、新建QTGUI應用,基類選擇QWidget,取消建立界面this

二、code

添加菜單blog

#include <QMenu>
#include <QMenuBar>
#include <QAction>
#include <QLabel>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    QMenuBar *menuBar = new QMenuBar(this);

    QMenu *menu[3];
    menu[0] = new QMenu("File");
    menu[0]->addAction("Edit");
    menu[0]->addAction("View");
    menu[0]->addAction("Tools");

    menu[1] = new QMenu("Save");
    QAction     *act[2];

    act[0] = new QAction("New", this);
    act[0]->setShortcut(Qt::CTRL | Qt::Key_A);
    act[0]->setStatusTip("This is a New menu.");
    menu[1]->addAction(act[0]);

    act[1] = new QAction("Open", this);
    act[1]->setCheckable(true);

    menu[1]->addAction(act[1]);

    menu[2] = new QMenu("Print");
    menu[2]->addAction("Page Setup");
    menu[2]->addMenu(menu[1]);

    menuBar->addMenu(menu[0]);
    menuBar->addMenu(menu[2]);

    menuBar->addMenu(menu[0]);
    menuBar->setGeometry(0, 0, 600, 40);

    lbl = new QLabel("",this);
    lbl->setGeometry(10, 70, 200, 40);

    connect(menuBar, SIGNAL(triggered(QAction*)), this,
                     SLOT(trigerMenu(QAction*)));

}

void Widget::trigerMenu(QAction *act)
{
    QString str = QString("Selected Menu : %1").arg(act->text());
    lbl->setText(str);
}

相關文章
相關標籤/搜索