QT中的按鈕控件Buttons介紹

目錄

Buttons 按鈕控件

1、常用屬性介紹

?2、按鈕介紹

2.1QPushButton 普通按鈕

2.2QtoolButton 工具按鈕

2.3Radio Button單選按鈕

2.4CheckButton復選按鈕

2.5Commam Link Button命令鏈接按鈕

2.6Dialog Button Box命令鏈接按鈕


Buttons 按鈕控件

在Qt里,最常使用的控件就是按鈕,有了按鈕,就可以點擊,從而響應事件,達到人機交互的效果。Qt 內置了六種按鈕部件如下

  • QPushButton:下壓按鈕,繼承 QAbstractButton 類,被 QCommandLinkButton 繼承。常用于執行命令或觸發事件
  • QToolButton:工具按鈕,繼承 QAbstractButton 類,是一種用于命令或者選項的可快速訪問的按鈕
  • QRadioButton:選擇按鈕,繼承 QAbstractButton 類,通常成組出現,用于提供兩個或多個互斥選項
  • QCheckBox:檢查框,繼承 QAbstractButton 類,與 RadioButton 的區別是選擇模式,單選按鈕提供多選一,復選按鈕提供多選
  • QCommandLinkButton:命令鏈接按鈕,繼承 QPushButton 類,與 RadioButton 相似,用于在互斥選項中選擇一項, 區別是CommandLinkButton 除帶有正常文字描述文本外,默認攜帶一個箭頭圖標,表明按下按鈕將打開另一個窗口或頁面
  • QDialogButtonBox:對話框按鈕,由 QDialogButtonBox 類包裝而成,QDialogButtonBox 繼承 QWidget,常用于對話框里自定義按鈕,比如“確定”和“取消” 按鈕

1、常用屬性介紹

?2、按鈕介紹

2.1QPushButton 普通按鈕

1)控件位置:

Button->PushButton

2)控件介紹:

該控件繼承自QButton類,通常用于執行命令或觸發事件。

3)控件屬性設置選項:

(1)name:該控件對應源代碼中的名字。

(2)text:該控件對應圖形界面中顯示的名字。

(3)font:設置text的字體。

(4)enabled:該控件是否可用。

信號:
void clicked(bool checked = false)
void pressed()
void released()函數接口: 
setText(const QString &) //設置按鈕的文字 
text() const : QString   //獲取按鈕的文件 
ui->pushButton->setEnabled(false); //使按鈕失效 
ui->pushButton->setEnabled(true); //使按鈕生效
setIcon(const QIcon &) //給按鈕設置一個小圖標//例子:
ui->pushButton->setIcon(QIcon("D:/Downloads/set.ico"));
ui->pushButton->setIconSize(QSize(40, 40));

2.2QtoolButton 工具按鈕

1)控件位置:

Buttons->ToolButton

2)控件介紹:

工具按鈕,繼承自QButton類,是一種用于命令或者選項的可以快速訪問的按鈕,通常在ToolBar里面。工具按鈕通常顯示的是圖標,而不是文本標簽。ToolButton支持自動浮起。在自動浮起模式中,按鈕只有在鼠標指向它的時候才繪制三維的框架。

3)控件設置選項:

(1)name:該控件對應源代碼中的名稱。

(2)text:工具按鈕標簽文本。

(3)font:設置工具按鈕標簽的字體。

(4)autoRaise:自動浮起是否生效。

(5)iconSet:提供顯示在按鈕上的圖標的圖標集。

(6)on:工具按鈕是否為開。

(7)textLabel:工具按鈕自動提示文本。

(8)usesTextLabel:自動提示文本textLabel是否工作,默認為false。

提示:使用工具按鈕需要設置工具菜單

信號
void triggered(QAction *action)
?
//設置工具菜單 
void setMenu(QMenu *menu)
//顯示菜單 
void showMenu() 
?
QMenu 菜單類: 
QAction *addAction(const QString &text)
 //設置一個菜單QMenu* m = new QMenu(ui->toolButton);//菜單欄m->addAction("西瓜");m->addAction("白菜");m->addAction("蘋果");//把菜單設置到工具按鈕中 ui->toolButton->setMenu(m);//當點擊時顯示菜單 
void MainWindow::on_toolButton_clicked()
{ui->toolButton->showMenu(); //顯示菜單
}//獲取觸發信號 
void MainWindow::on_toolButton_triggered(QAction* arg1)
{ui->toolButton->setText(arg1->text());
}QToolButton::QToolButton(QWidget *parent,const char *name = 0)
構造一個名字為name,父對象為parent的ToolButton。QToolButton::QToolButton(const QIconset &iconSet,const QString &textLabel,const QString &grouptext,QObject *receiver,const char *slot,QToolBar *parent,const char *name = 0)
構造一個名稱為name,父對象為parent(必須為QToolBar)的工具按鈕。工具按鈕將顯示iconSet,工具提示為textLabel,狀態條信息為grouptext,同時會將工具按鈕鏈接到receiver對象的槽函數。QToolBButton::QToolButton(ArrowType type,QWidget *parent,const char *name = 0)
此構造函數是把工具按鈕構造成箭頭按鈕,type定義了箭頭的方向,可用的值有LeftArrow、RightArrow、UpArrow、DownArrow。void QToolButton::setAutoRaise(bool enable)
根據參數enable值設置按鈕是否可自動浮起。void QToolButton::setIcon(const QIconSet &)
設置顯示在工具按鈕上的圖標。void QToolButton::setOn(bool enable)[虛槽]
設置按鈕是否為開,enable等于true則設置為開,否則設置為關。void QToolButton::setTextLabel(const QString &)[槽]
設置按鈕的提示標簽。QString QToolButton::textLabel()const
返回按鈕的提示標簽。

2.3Radio Button單選按鈕

1)控件位置:

Buttons->RadioButton

2)控件介紹:

單選框,繼承自QButton類,通常成組出現,用于提供兩個或多個互斥選項。

3)控件屬性設置選項:

(1)name:該控件對應源代碼中所顯示的名字。

(2)text:該控件對應圖形界面中所顯示的名字。

(3)font:設置text字體。

(4)enabled:該控件是否可用,可用為true,不可用為false。

(5)checked:用來設置或返回是否選中單選按鈕,選中為true,未選中為false。

QRaidoButton::QRadioButton(const QString &text,QWidget *parent,const char *name = 0)
構造一個名稱為name、父對象為parent并且文本為text的單選按鈕。bool QRadioButton::isChecked()const
返回是否選中單選按鈕,選中時返回true,沒有選中時返回false。void QButton::setText(const QString &)
設置該按鈕上顯示的文本。QString QButton::text()const
返回該按鈕上顯示的文本。void QButton::stateChanged(int state)[signal]
當更改checked屬性值時,將發射信號。void QRadioButton::setChecked(bool check)[virtual slot]
設置單選按鈕是否被選中為check。

2.4CheckButton復選按鈕

1)控件位置:

Buttons->CheckBox

2)控件介紹:

復選框,繼承自QButton,與RadioButton的區別是選則模式,單選框提供多選一,復選框提供多選多。

3)控件屬性設置選項:

(1)name:該控件對應源代碼中所顯示的名字。

(2)text:該控件對應圖形界面中所顯示的名字。

(3)font:設置text字體。

(4)enabled:該控件是否可用,可用為true,不可用為false。

(5)checked:用來設置或返回是否選中單選按鈕,選中為true,未選中為false。

QCheckBox::QCheckBox(const QString &text,QWidget *parent,const char *name = 0)
構造一個名稱為name、父對象為parent并且文本為text的復選框。QCheckBox::isChecked()const
選中該復選框,返回true,否則返回false。void QButton::setText(const QString &)
設置該按鈕上顯示的文本。QString QButton::text()const
返回該按鈕上顯示的文本。void QButton::stateChange(int state)[signal]
當更改checked屬性時,將發射這個信號。void QCheckBox::setChecked(bool check)[槽]
設置復選框是否選中,狀態為check的值。

2.5Commam Link Button命令鏈接按鈕

1)控件位置:

Buttons->CommandLinkButton

2)控件介紹:

命令鏈接按鈕,繼承自QPushButton,用于在互斥選項中選擇一項,CommandLinkButton除帶有正常的按鈕上的文字描述文本外,默認情況下,它也將攜帶一個箭頭圖標,表明按下按鈕將打開另一個窗口或頁面。

3)控件屬性設置選項:

(1)name:該控件對應源代碼中的名稱。

(2)text:該控件對應圖形界面中所顯示的標簽。

(3)font:設置text的字體。

(4)enabled:該控件是否可用。

(5)description:一個描述性的標簽,以配合按鈕上的文字。

QCommandLinkButton::QCommandLinkButton(QWidget *parent = 0)
構造一個父對象為parent的命令鏈接按鈕。QCommandLinkButton::QCommandLinkButton(const QString &text,QWidget *parent = 0)
構造一個父對象為parent、文本為text的命令鏈接按鈕。QCommandLinkButton::QCommandLinkButton(const QString &text,const QString &description,QWidget *parent = 0)
構造一個父對象為parent、文本為text和描述文本為description的命令鏈接按鈕。void QButton::clicked()[信號]
當單擊該按鈕時,發射信號。void QButton::pressed()[信號]
當按下該按鈕時,發射這個信號。void QButton::released()[信號]
當釋放該按鈕時,發射這個信號。void QButton::setText(const QString &)
設置改按鈕上顯示的文本。QString QButton::text()cosnt
返回按鈕上顯示的文本。

2.6Dialog Button Box命令鏈接按鈕

1)控件位置:

Buttons->ButtonBox

2)控件介紹:

按鈕鍵,室友QDialogButtonBox類包裝成的。

3)控件屬性設置選項:?

(1)name:該控件對應源代碼中的名稱。

(2)font:設置text的字體。

(3)enabled:該控件是否可用。

(4)centerButtons:ButtonBox中的按鈕是否居中布局,默認值為false。

(5)orientation:按鈕布局方向,Qt提供QT::Horizontal和QT::Vertical兩種。

(6)standardButtons:標準按鈕集合。

QDialogButtonBox::QDialogButtonBox(QWidget *parent = 0)
構造一個按鈕盒,父對象為parent。QDialogButtonBox::QDialogButtonBox(QT::Orientation orientation,QWidget *parent = 0)
構造一個按鈕盒,父對象為parent,排列方向為orientation,并且包含buttons。QDialogButtonBox::QDialogButtonBox(StandardButton buttons,QT::Orientation orientation = QT::Horizontal,QWidget *parent = 0)
構造一個按鈕盒,父對象為parent,排列方向為orientation。void QDialogButtonBox::accepted()[signal]
當單擊按鈕盒里的定義為AcceptRole和YesRole的按鈕時,發射信號。void QDialogButtonBox::addButton(QAbstractButton *button,ButtonRole role)
向按鈕盒里添加按鈕button,定義按鈕button的角色為role,如果role是無效的,則不添加按鈕,如果按鈕已添加,移除并在次添加為新角色。QPushButton *QDialogButtonBox::addButton(StandarButton button)
向按鈕盒中添加一個標準按鈕button,并返回標準按鈕。如果按鈕無效,不添加,返回0.QPushButton *QDialogButtonBox::addButton(const QString &text,ButtonRole role)
創建一個按鈕的文本為text,以指定角色添加到按鈕盒,并返回相應的按鈕,如果role是無效的,則不創建,返回0.void QDialogButtonBox::clear()
清空該按鈕盒里的所有按鈕。void QDialogButtonBox::clicked(QAbstractButton *button)[signal]
當單擊按鈕盒里的按鈕button時,發射這個信號。void QDialogButtonBox::helpRequested()[signal]
當單擊按鈕盒里的定義為HelpRole的按鈕時,發射這個信號。void QDialogButtonBox::rejected()[signal]
當單擊按鈕盒里定義為RejectRole和NoRole的按鈕時,發射這個信號。void QDialogButtonBox::removeButton(QAbstractButton *button)
移除按鈕盒里的按鈕Button,但是不刪除,設置它的父母為0.

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/40701.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/40701.shtml
英文地址,請注明出處:http://en.pswp.cn/news/40701.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Viobot開機指南

0.前言 本篇旨在讓每個拿到Viobot設備的用戶都能夠第一時間測試它的效果,以及將設備配置到自己的環境下面。 1.上電 首先,我們先要把設備接上電源線和網線,最簡單的方式就是網線直連電腦。 電源選用12V1.5A設備自帶的電源即可。 2.配置網…

JavaScript中的this指向,call、apply、bind的簡單實現

JavaScript中的this this是JavaScript中一個特殊關鍵字,用于指代當前執行上下文中的對象。它的難以理解之處就是值不是固定的,是再函數被調用時根據調用場景動態確定的,主要根據函數的調用方式來決定this指向的對象。this 的值在函數被調用時…

深入學習前端開發,掌握HTML、CSS、JavaScript等技術

課程鏈接: 鏈接: https://pan.baidu.com/s/1WECwJ4T8UQfs2FyjUMbxig?pwdi654 提取碼: i654 復制這段內容后打開百度網盤手機App,操作更方便哦 --來自百度網盤超級會員v4的分享 課程介紹: 第1周:HTML5基礎語法與標簽 &#x1f…

web集群學習:搭建 LNMP應用環境

目錄 LNMP的介紹: LNMP組合工作流程: FastCGI介紹: 1、什么是 CGI 2、什么是 FastCGI 配置LNMP 1、部署LNMP環境 2、配置LNMP環境 LNMP的介紹: 隨著 Nginx Web 服務的逐漸流行,又岀現了新的 Web 服務環境組合—…

【Spring Cloud 八】Spring Cloud Gateway網關

gateway網關 系列博客背景一、什么是Spring Cloud Gateway二、為什么要使用Spring Cloud Gateway三、 Spring Cloud Gateway 三大核心概念4.1 Route(路由)4.2 Predicate(斷言)4.3 Filter(過濾) 五、Spring …

如何使用Kali Linux進行密碼破解?

今天我們探討Kali Linux的應用,重點是如何使用它來進行密碼破解。密碼破解是滲透測試中常見的任務,Kali Linux為我們提供了強大的工具來幫助完成這項任務。 1. 密碼破解簡介 密碼破解是一種滲透測試活動,旨在通過不同的方法和工具來破解密碼…

力扣初級算法(數組拆分)

力扣初級算法(數組拆分) 每日一算法: 力扣初級算法(數組拆分) 學習內容: 1.問題描述 給定長度為 2n 的整數數組 nums ,你的任務是將這些數分成 n 對, 例如 (a1, b1), (a2, b2), …, (an, bn) …

機器人CPP編程基礎-03變量類型Variables Types

機器人CPP編程基礎-02變量Variables 全文AI生成。 C #include<iostream>using namespace std;main() {int a10,b35; // 4 bytescout<<"Value of a : "<<a<<" Address of a : "<<&a <<endl;cout<<"Val…

[Openwrt]一步一步搭建MT7981A uboot、atf、openwrt-21.02開發環境操作說明

安裝ubuntu-18.04 軟件安裝包 ubuntu-18.04-desktop-amd64.iso 修改ubuntu管理員密碼 sudo passwd [sudo] password for w1804: Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully 更新ubuntu源 備份源 sudo cp /etc/apt/so…

CentO7.9安裝Docker

文章目錄 CentO7.9安裝Docker刪除舊版本的Docker安裝Docker倉庫安裝Docker安裝最新版本安裝指定版本 Docker安裝個NGINX查看Docker鏡像運行查看Docker進程查看啟動端口停止Docker容器 CentO7.9安裝Docker 刪除舊版本的Docker sudo yum remove docker \docker-client \docker-…

Vue+ElementUI實現選擇指定行導出Excel

這里記錄一下&#xff0c;今天寫項目時 的一個需求&#xff0c;就是通過復選框選中指定行然后導出表格中選中行的Excel表格 然后這里介紹一個工具箱(模板)&#xff1a;vue-element-admin 將它拉取后&#xff0c;運行就可以看到如下界面&#xff1a; 這里面的很多功能都已經實現…

【NAS群暉drive異地訪問】使用cpolar遠程訪問內網Synology Drive「內網穿透」

文章目錄 前言1.群暉Synology Drive套件的安裝1.1 安裝Synology Drive套件1.2 設置Synology Drive套件1.3 局域網內電腦測試和使用 2.使用cpolar遠程訪問內網Synology Drive2.1 Cpolar云端設置2.2 Cpolar本地設置2.3 測試和使用 3. 結語 前言 群暉作為專業的數據存儲中心&…

jupyter切換conda虛擬環境

環境安裝 conda install nb_conda 進入你想使用的虛擬環境&#xff1a; conda activate your_env_name 在你想使用的conda虛擬環境中&#xff1a; conda install -y jupyter 在虛擬環境中安裝jupyter&#xff1a; conda install -y jupyter 重啟jupyter 此時我們已經把該安裝…

也許你正處于《孤注一擲》中的“團隊”,要留心了

看完這部電影&#xff0c;心情久久不能平靜&#xff0c;想了很多&#xff0c;倒不是擔心自己哪天也成為“消失的yaozi”&#xff0c;而是在想&#xff0c;我們每天所賴以生存的工作&#xff0c;跟電影里他們的工作比&#xff0c;差別在哪里呢&#xff1f; 目錄 1. 產品的本質…

Linux系統下的性能分析命令

在 Linux 系統下&#xff0c;有許多用于性能分析和調試的命令和工具&#xff0c;可以幫助您識別系統瓶頸、優化性能以及調查問題。本文將介紹在性能分析過程中&#xff0c;可能使用到的一些命令。 以下是一些常用的性能分析命令和工具匯總&#xff1a; 命令功能簡述top用于實…

2023-08-16力扣每日一題

鏈接&#xff1a; 2682. 找出轉圈游戲輸家 題意&#xff1a; 環形1到n&#xff0c;從1開始&#xff0c;每次移動 第i次*k &#xff0c;當移動到出現過的序號時停下&#xff0c; 求沒移動到的數字 解&#xff1a; 簡單模擬題&#xff0c;我也以為有數學做法&#xff0c;可…

docker安裝部署

目錄 docker安裝部署 1.環境 2.安裝步驟 1.安裝必要工具 2.配置軟件源 3.修改軟件源 4.更新并下載docker 5.設置開機自啟 3.啟動docker 1.配置docker鏡像加速器 2.啟動服務 docker安裝部署 1.環境 centos7 2.安裝步驟 1.安裝必要工具 yum install -y yum-utils dev…

【QT+ffmpeg】QT+ffmpeg 環境搭建

1.qt下載地址 download.qt.io/archive/ 2. win10sdk 下載 https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/ 安裝 debug工具路徑 qtcreater會自動識別 調試器選擇

最長連續序列

題目&#xff1a; 給定一個未排序的整數數組 nums &#xff0c;找出數字連續的最長序列&#xff08;不要求序列元素在原數組中連續&#xff09;的長度。 示例 1&#xff1a; 輸入&#xff1a;nums [100,4,200,1,3,2] 輸出&#xff1a;4 解釋&#xff1a;最長數字連續序列是…

74、75、76——tomcat項目實戰

tomcat項目實戰 tomcat 依賴 java運行環境,必須要有jre , 選擇 jdk1.8 JvmPertest 千萬不能用 kyj易捷支付 項目機器 選擇 一臺機器 ,安裝jdk1.8的機器下載tomcat的包 上傳到機器,解壓tomcattomcat文件 bin文件夾: 啟動文件 堆棧配置文件 catalina.sh JAVA_OPTS="-Xm…