<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                [TOC] ## 概述 右鍵菜單功能很常見,我們添加槽函數的操作就是通過右鍵菜單實現的。在 Qt 庫中,每一條菜單項稱為 QAction,多條菜單項組成一個菜單,菜單類是 QMenu。菜單項 QAction 不僅可以用于菜單,工具欄的按鈕也是 QAction 實現的。QAction 常用構造函數如下: ``` QAction(const QString & text, QObject * parent) QAction(const QIcon & icon, const QString & text, QObject * parent) // 信號 void QAction::triggered(bool checked = false) //點擊菜單項觸發信號 // checked 一般在菜單可勾選才用到 void QAction::setCheckable(bool) // 設置勾選菜單 // 單獨的菜單項是不能彈出顯示的,需要將菜單項添加到菜單或工具欄才能使用 QMenu(QWidget * parent = 0) QMenu(const QString & title, QWidget * parent = 0) ``` ## 實例 ``` //創建右鍵菜單對象 m_menuContext = new QMenu(tr("ContextMenu")); //右鍵菜單其實不顯示ContextMenu文本 //創建“添加條目”菜單項并添加到菜單 QAction *actAdd = new QAction(tr("添加條目"), this); m_menuContext->addAction( actAdd ); //創建“編輯條目”菜單項并添加到菜單 QAction *actEdit = new QAction(tr("編輯條目"), this); m_menuContext->addAction( actEdit ); //創建“刪除條目”菜單項并添加到菜單 QAction *actDel = new QAction(tr("刪除條目"), this); m_menuContext->addAction( actDel ); //創建“清空所有”菜單項并添加到菜單 QAction *actClearAll = new QAction(tr("清空所有"), this); m_menuContext->addAction( actClearAll ); //設置列表控件可以有自定義右鍵菜單 ui->listWidget->setContextMenuPolicy( Qt::CustomContextMenu ); //關聯彈出菜單信號 connect(ui->listWidget, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(onCustomContextMenuRequested(QPoint)) ); //為四個菜單項關聯點擊信號到槽函數 connect(actAdd, SIGNAL(triggered()), this, SLOT(onAddItemTriggered())); connect(actEdit, SIGNAL(triggered()), this, SLOT(onEditItemTriggered())); connect(actDel, SIGNAL(triggered()), this, SLOT(onDelItemTriggered())); connect(actClearAll, SIGNAL(triggered()), this, SLOT(onClearAllTriggered())); //彈出右鍵菜單的槽函數 void Widget::onCustomContextMenuRequested(const QPoint & pos) { //控件內的相對坐標轉為屏幕坐標 //是列表控件發出的信號,就用列表控件的轉換函數 QPoint screenPos = ui->listWidget->mapToGlobal( pos ); //彈出菜單 QAction *actRet = m_menuContext->exec( screenPos ); if(NULL != actRet)//檢查非空才能使用該指針 { qDebug()<<tr("返回的菜單項:") + actRet->text(); } } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看