QT常見用法記錄(長期更新)

1、爲Widget添加右鍵菜單

//在構造函數添加菜單
ClassName::ClassName()
{
    QAction *action_1 = new QAction("菜單選項1", this);
    QAction *action_2 = new QAction("菜單選項2", this);
    connect(action_1, SIGNAL(triggered(bool)), this, SLOT(doAction()));//按鍵信號
    connect(action_1, SIGNAL(toggled(bool)), this, SLOT(doAction()));//兩種狀態選中信號
    /*
    注意兩種按鍵信號的區別,根據實際需要來選擇
    */
    this->addAction(action_1);
    this->addAction(action_2);

    this->setContextMenuPolicy(Qt::ActionsContextMenu);
}

//響應菜單
void ClassName::doAction()
{
    QAction *action = (QAction *)sender();
    QString str = action->text();

    if (str == "菜單選項1") {
        doSomeThing();
    } else if (str == "菜單選項2") {
        doSomeThing();
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章