欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Qt控件之QToolButton的使用及示例

 更新時間:2023年10月17日 08:36:17   作者:FreeLikeTheWind.  
QToolButton類提供了一個快速訪問命令或選項的按鈕,通常在QToolBar內(nèi)部使用,本文主要介紹了Qt控件之QToolButton的使用及示例,感興趣的可以了解一下

簡介

QToolButton 類提供了一個快速訪問命令或選項的按鈕,通常在 QToolBar 內(nèi)部使用。

工具按鈕是一種特殊的按鈕,用于快速訪問特定的命令或選項。與普通的命令按鈕相反,工具按鈕通常不顯示文本標簽,而是顯示一個圖標。

通常情況下,工具按鈕是通過使用 QToolBar::addAction() 創(chuàng)建新的 QAction 實例或?qū)F(xiàn)有的操作添加到工具欄的方式來創(chuàng)建的。還可以像創(chuàng)建任何其他小部件一樣構(gòu)造工具按鈕,并將它們與其他小部件一起布局排列。

工具按鈕的一個經(jīng)典用途是選擇工具;例如,繪圖程序中的 “畫筆” 工具。這可以通過使用 QToolButton 作為切換按鈕(參見 setToggleButton())來實現(xiàn)。

QToolButton 支持自動凸起。在自動凸起模式下,只有當(dāng)鼠標指向按鈕時,按鈕才會繪制 3D 邊框。當(dāng)按鈕在 QToolBar 內(nèi)部使用時,該功能會自動開啟??梢允褂?nbsp;setAutoRaise() 方法進行更改。

工具按鈕的圖標是使用 QIcon 設(shè)置的。這樣可以為禁用狀態(tài)和活動狀態(tài)指定不同的像素圖。禁用的像素圖在按鈕的功能不可用時使用。當(dāng)鼠標懸停在按鈕上時,活動的像素圖將顯示出來,因為按鈕會自動凸起。

可以使用 setToolButtonStyle() 和 setIconSize() 調(diào)整按鈕的外觀和尺寸。當(dāng)在 QMainWindow 中的 QToolBar 中使用時,按鈕會自動調(diào)整為 QMainWindow 的設(shè)置(參見 QMainWindow::setToolButtonStyle() 和 QMainWindow::setIconSize())。工具按鈕還可以顯示一個箭頭符號,可以使用 arrowType 指定。

工具按鈕可以在彈出菜單中提供額外的選擇??梢允褂?nbsp;setMenu() 設(shè)置彈出菜單。使用 setPopupMode() 來配置具有菜單設(shè)置的工具按鈕的不同模式。默認模式是 DelayedPopupMode,該模式通常與 Web瀏覽器中的 “返回” 按鈕一起使用。按住按鈕一段時間后,會彈出一個菜單,顯示要跳轉(zhuǎn)到的可能頁面列表。默認的延遲時間是 600 毫秒,可以使用 setPopupDelay() 進行調(diào)整。
在這里插入圖片描述

常用函數(shù)

QToolButton 是 Qt 框架提供的一個工具按鈕控件,用于在用戶界面中提供快捷訪問命令或選項的按鈕。
以下是關(guān)于 QToolButton 的構(gòu)造函數(shù)、枚舉、常用函數(shù)、信號和槽的介紹:

  • 構(gòu)造函數(shù)

    • QToolButton(QWidget *parent = nullptr):使用指定的父窗口創(chuàng)建一個默認的 QToolButton 實例。
    • QToolButton(const QString &text, QWidget *parent = nullptr):使用指定的文本和父窗口創(chuàng)建一個 QToolButton 實例。
  • 枚舉

    • ToolButtonPopupMode:枚舉類型,定義了工具按鈕的彈出菜單模式:
      • QToolButton::DelayedPopup:默認模式,長按按鈕后延遲彈出菜單。
      • QToolButton::MenuButtonPopup:點擊按鈕箭頭圖標后立即彈出菜單。
      • QToolButton::InstantPopup:點擊按鈕后立即彈出菜單。
  • 常用函數(shù)

    • void setIcon(const QIcon &icon):設(shè)置工具按鈕的圖標。
    • QIcon icon() const:獲取工具按鈕的圖標。
    • void setText(const QString &text):設(shè)置工具按鈕的文本。
    • QString text() const:獲取工具按鈕的文本。
    • void setAutoRaise(bool enable):設(shè)置是否在鼠標指向按鈕時自動凸起。
    • bool autoRaise() const:檢查按鈕是否在鼠標指向時自動凸起。
    • void setPopupMode(QToolButton::ToolButtonPopupMode mode):設(shè)置工具按鈕的彈出菜單模式。
    • QToolButton::ToolButtonPopupMode popupMode() const:獲取工具按鈕的彈出菜單模式。
  • 信號和槽

    • void clicked(bool checked = false):點擊工具按鈕時觸發(fā)的信號。參數(shù) checked 表示按鈕的選中狀態(tài)。
    • void triggered(QAction *action):當(dāng)有菜單項被觸發(fā)時,發(fā)送該信號??梢允褂?action 參數(shù)來獲取觸發(fā)的菜單項。

使用信號和槽機制,可以通過連接 QToolButton 的 clicked 信號和自定義的槽函數(shù)來響應(yīng)按鈕的點擊事件。例如:

QObject::connect(toolButton, &QToolButton::clicked, [&]() {
    // 工具按鈕點擊事件的邏輯處理
});

通過連接 clicked() 信號,可以在工具按鈕被點擊時執(zhí)行相關(guān)的操作或邏輯處理。

QToolButton 提供了許多其他的函數(shù)和屬性,用于設(shè)置按鈕的圖標、文本、樣式和彈出菜單等,以滿足在用戶界面中提供快捷訪問命令或選項的需求。根據(jù)具體需求,可以使用這些函數(shù)和屬性對 QToolButton 進行定制和擴展。

示例

以下是一個簡單的 QToolButton 的示例代碼,展示了如何創(chuàng)建一個工具按鈕并處理其點擊事件:

#include <QApplication>
#include <QMainWindow>
#include <QToolButton>
#include <QMessageBox>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QMainWindow window;
    window.setWindowTitle("toolBtn");

    // 創(chuàng)建一個工具按鈕
    QToolButton *toolButton = new QToolButton(&window);
    toolButton->setText("Click me"); // 設(shè)置按鈕顯示的文本

    // 連接按鈕的 clicked 信號和槽函數(shù)
    QObject::connect(toolButton, &QToolButton::clicked, [&]() {
        QMessageBox::information(&window, "Clicked", "Button has been clicked!");
    });

    // 將具按鈕添加到主窗口的工具欄
    QToolBar *pBar = window.addToolBar("bar");
    pBar->addWidget(toolButton);

    window.show();
    return app.exec();
}

效果

在這個示例中,創(chuàng)建了一個簡單的 QMainWindow 窗口,并在窗口上添加了一個帶有文本 “Click me” 的工具按鈕。
然后,通過連接工具按鈕的 clicked 信號和一個 lambda 函數(shù),當(dāng)按鈕被點擊時,會彈出一個消息框顯示"Button has been clicked!"的信息。

到此這篇關(guān)于Qt控件之QToolButton的使用及示例的文章就介紹到這了,更多相關(guān)Qt QToolButton內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++適用于所有輸入法的解決方案

    C++適用于所有輸入法的解決方案

    這篇文章主要介紹了C++適用于所有輸入法的解決方案,文中通過代碼示例講解的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2025-02-02
  • C++如何獲取本機的IP地址

    C++如何獲取本機的IP地址

    這篇文章主要為大家詳細介紹了C++如何獲取本機IP地址小程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 利用C語言實現(xiàn)掃雷游戲

    利用C語言實現(xiàn)掃雷游戲

    這篇文章主要為大家詳細介紹了利用C語言實現(xiàn)掃雷游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • protobuf c++編程筆記

    protobuf c++編程筆記

    這篇文章主要介紹了Protobuf的c++編程筆記,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • C語言簡明講解三目運算符和逗號表達式的使用

    C語言簡明講解三目運算符和逗號表達式的使用

    三目運算符,又稱條件運算符,它是唯一有3個操作數(shù)的運算符,有時又稱為三元運算符。三目運算符的結(jié)合性是右結(jié)合的;逗號表達式,是c語言中的逗號運算符,優(yōu)先級別最低,它將兩個及其以上的式子聯(lián)接起來,從左往右逐個計算表達式,整個表達式的值為最后一個表達式的值
    2022-04-04
  • Qt事件過濾實現(xiàn)點擊圖片的放大和縮小

    Qt事件過濾實現(xiàn)點擊圖片的放大和縮小

    這篇文章主要為大家詳細介紹了Qt事件過濾實現(xiàn)點擊圖片的放大和縮小,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • C++ 雙鏈表的基本操作(詳解)

    C++ 雙鏈表的基本操作(詳解)

    下面小編就為大家?guī)硪黄狢++ 雙鏈表的基本操作(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • c/c++獲取系統(tǒng)時間函數(shù)的方法示例

    c/c++獲取系統(tǒng)時間函數(shù)的方法示例

    這篇文章主要介紹了c/c++獲取系統(tǒng)時間函數(shù)的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • C++引用的使用與const修飾符

    C++引用的使用與const修飾符

    這篇文章介紹了C++引用使用與const修飾符,引用是給已經(jīng)定義的變量一個別名,可以簡單理解成同一個變量的昵稱,既然是昵稱或者是別名,顯然它和原本的變量名有著同樣的效力,所以我們對別名進行修改,原本的變量值也一樣會發(fā)生變化,下面來看看詳細內(nèi)容,需要的朋友可以參考下
    2021-11-11
  • C++中求組合數(shù)的各種方法總結(jié)詳解

    C++中求組合數(shù)的各種方法總結(jié)詳解

    本篇文章是對C++中的求組合數(shù)的各種方法進行了詳細的介紹。需要的朋友參考下
    2013-05-05

最新評論