<kbd id="9plqc"><label id="9plqc"></label></kbd>

        <th id="9plqc"></th>
        1. <center id="9plqc"><video id="9plqc"></video></center>
          <sub id="9plqc"><form id="9plqc"><pre id="9plqc"></pre></form></sub>
          <nav id="9plqc"><form id="9plqc"><legend id="9plqc"></legend></form></nav>
          Qt之按鈕(QToolButton) 您所在的位置:網(wǎng)站首頁(yè) 屬馬每日星座運(yùn)勢(shì)運(yùn)程 Qt之按鈕(QToolButton)

          Qt之按鈕(QToolButton)

          2024-07-15 14:48| 來源: 網(wǎng)絡(luò)整理| 查看: 265

          簡(jiǎn)述

          QToolButton類讓我們可以快速地實(shí)現(xiàn)命令和選項(xiàng)按鈕,它通常用在QToolBar中。

          相比于普通的命令按鈕(QPushButton),工具按鈕通常不顯示文本,只顯示圖標(biāo)。

          工具按鈕通常是在QToolBar::addAction方法被調(diào)用的時(shí)候被創(chuàng)建。當(dāng)然,也可以用其它控件的創(chuàng)建方式來創(chuàng)建QToolButton。

          QToolButton的一種經(jīng)典用法是選擇工具。例如,繪圖程序中的“筆”工具。

          基本用法

          下面我們利用QToolButton的一些基本屬性做一個(gè)演示。

          效果

          這個(gè)例子中使用了四個(gè)QToolButton,每個(gè)按鈕展示不同的屬性。按鈕順序:自左向右升序。

          源碼 QToolButton *toolBtn1 = new QToolButton; toolBtn1->setArrowType(Qt::LeftArrow); toolBtn1->setAutoRaise(true); QToolButton *toolBtn2 = new QToolButton; toolBtn2->setArrowType(Qt::LeftArrow); QToolButton *toolBtn3 = new QToolButton; toolBtn3->setIcon(QIcon(":/picture/tool.png")); QToolButton *toolBtn4 = new QToolButton; toolBtn4->setPopupMode(QToolButton::MenuButtonPopup); QMenu *menu = new QMenu; menu->addAction("剪切"); menu->addAction("粘貼"); menu->addAction("復(fù)制"); toolBtn4->setMenu(menu); QHBoxLayout *layout = new QHBoxLayout; layout->addWidget(toolBtn1); layout->addWidget(toolBtn2); layout->addWidget(toolBtn3); layout->addWidget(toolBtn4); this->setLayout(layout); 常用接口

          下面列舉QToolButton中一些常用的屬性、公有函數(shù)以及信號(hào)槽。

          常用屬性 arrowType:Qt自帶的一些默認(rèn)圖標(biāo) 常量值Qt::NoArrow0Qt::UpArrow1Qt::DownArrow2Qt::LeftArrow3Qt::RightArrow4 popupMode:QToolButton上面的菜單彈起模式 常量值描述QToolButton::DelayedPopup0按下按鈕一定時(shí)間后顯示菜單。一個(gè)典型案例:瀏覽器中工具欄的“后退”按鈕。QToolButton::MenuButtonPopup1這種模式下,工具按鈕顯示一個(gè)特殊的箭頭以指示菜單是否存在,按下按鈕的箭頭部分時(shí)顯示菜單。QToolButton::InstantPopup2按下工具按鈕時(shí)菜單顯示,無延遲。這種模式下,按鈕自身的動(dòng)作不觸發(fā)。 toolButtonStyle 常量值描述Qt::ToolButtonIconOnly0只顯示圖標(biāo)Qt::ToolButtonTextOnly1只顯示文本Qt::ToolButtonTextBesideIcon2文本顯示在圖標(biāo)旁邊Qt::ToolButtonTextUnderIcon3文本顯示在圖標(biāo)下面Qt::ToolButtonFollowStyle4樣式跟隨

          效果

          源碼

          QToolButton *toolBtn1 = new QToolButton; toolBtn1->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); toolBtn1->setIcon(QIcon(":/picture/tool.png")); toolBtn1->setText("我在Icon下面"); QToolButton *toolBtn2 = new QToolButton; toolBtn2->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); toolBtn2->setIcon(QIcon(":/picture/tool.png")); toolBtn2->setText("我在Icon旁邊"); QHBoxLayout *layout = new QHBoxLayout; layout->addWidget(toolBtn1); layout->addWidget(toolBtn2); this->setLayout(layout); 公共函數(shù) 設(shè)置箭頭類型 setArrowType(Qt::ArrowType type)

          設(shè)置箭頭

          設(shè)置菜單 setMenu

          設(shè)置菜單到QToolButton

          設(shè)置按鈕自動(dòng)凸起 setAutoRaise

          QToolButton支持auto-raising模式,在auto-raise模式下,只有當(dāng)鼠標(biāo)放在QToolButton上面時(shí),它才會(huì)顯示出一個(gè)3D狀態(tài)。當(dāng)QToolButton在QToolBar中被使用時(shí),auto-raise模式默認(rèn)啟動(dòng)。

          設(shè)置菜單彈出模式 setPopupMode 槽函數(shù) 設(shè)置按鈕樣式 setToolButtonStyle

          設(shè)置按鈕默認(rèn)行為

          setDefaultAction

          給一個(gè)QToolButton設(shè)置一個(gè)默認(rèn)QAction,這個(gè)QAction包含有該QToolButton需要的一些基本默認(rèn)設(shè)置,包括:checkable;checked;enabled;font;icon;popupMode;statusTip;text;toolTip;whatThis

          使用案例

          QToolButton *toolBtn1 = new QToolButton; QAction *action = new QAction; action->setCheckable(true); action->setChecked(true); action->setEnabled(true); action->setIcon(QIcon(":/picture/tool.png")); toolBtn1->setDefaultAction(action); QHBoxLayout *layout = new QHBoxLayout; layout->addWidget(toolBtn1); this->setLayout(layout); 展示下拉菜單 showMenu 信號(hào) 觸發(fā) triggered 引用

          [1] Qt助手



          【本文地址】

          公司簡(jiǎn)介

          聯(lián)系我們

          今日新聞

          推薦新聞

          專題文章
            CopyRight 2018-2019 實(shí)驗(yàn)室設(shè)備網(wǎng) 版權(quán)所有
            黄色免费网站在线看,韩国精品在线观看,韩国美女一区二区,99国产热 高邮市| 雷波县| 寿宁县| 海伦市| 南昌县| 金乡县| 济宁市| 屏边| 长丰县| 磴口县| 拉孜县| 新田县| 泗阳县| 孟连| 霍林郭勒市| 祁门县| 尼木县| 乌海市| 普格县| 班玛县| 德清县| 名山县| 锡林浩特市| 建瓯市| 凭祥市| 乌恰县| 扎鲁特旗| 古交市| 项城市| 得荣县| 凤山县| 封开县| 京山县| 禹州市| 安丘市| 桦南县| 吴江市| 青河县| 三穗县| 樟树市| 彩票| http://444 http://444 http://444 http://444 http://444 http://444