python GUI庫圖形界面開發(fā)之PyQt5單選按鈕控件QRadioButton詳細(xì)使用方法與實(shí)例
PyQt5單選按鈕控件QRadioButton簡(jiǎn)介
QRadioButton 繼承自 QAbstractButton,其主要作用提供用戶一些互斥的按鈕。
QRadioButton 只有一個(gè)的時(shí)候,功能類似于復(fù)選框, 可以選擇和取消,但是如果有多個(gè),則必須有一個(gè)被選中
QRadioButton類中常用的方法
方法 | 描述 |
---|---|
setCheckanle() | 設(shè)置按鈕是否已經(jīng)被選中,可以改變單選按鈕的選中狀態(tài),如果設(shè)置為True則表示單選按鈕將保持以點(diǎn)擊和釋放狀態(tài) |
isChecked() | 返回單選按鈕的狀態(tài),返回值True或False |
setText() | 設(shè)置單選按鈕顯示的文本 |
text() | 返回單選按鈕顯示的文本 |
QRadioButton按鈕的使用實(shí)例
import sys from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import * class RadioDemo(QWidget): def __init__(self,parent=None): super(RadioDemo,self).__init__(parent) #水平布局 layout=QHBoxLayout() self.btn1=QRadioButton('Button1') #默認(rèn)選中btn1 self.btn1.setChecked(True) #toggled信號(hào)與槽函數(shù)綁定 self.btn1.toggled.connect(lambda :self.btnstate(self.btn1)) layout.addWidget(self.btn1) self.btn2 = QRadioButton('Button2') self.btn2.toggled.connect(lambda: self.btnstate(self.btn2)) layout.addWidget(self.btn2) self.setLayout(layout) self.setWindowTitle('RadioButton demo') def btnstate(self,btn): #輸出按鈕1與按鈕2的狀態(tài),選中還是沒選中 if btn.text()=='Button1': if btn.isChecked()==True: print(btn.text()+"is selected") else: print(btn.text()+"is deselected") if btn.text()=="Button2": if btn.isChecked() == True: print(btn.text() + "is selected") else: print(btn.text() + "is deselected") if __name__ == '__main__': app=QApplication(sys.argv) radioDemo=RadioDemo() radioDemo.show() sys.exit(app.exec_())
效果如圖
QRadioButton代碼分析
在這個(gè)例子中,兩個(gè)互斥的單選框被放置在窗口中
第一個(gè)單選按鈕btn1,被設(shè)置成默認(rèn)狀態(tài)
self.btn1.setChecked(True)
當(dāng)選擇兩個(gè)按鈕相互切換時(shí),按鈕的狀態(tài)發(fā)生改變,將觸發(fā)toggle信號(hào),并與槽函數(shù)btnstate()連接。使用lamdba的方式允許將源信號(hào)傳遞給槽函數(shù),將按鈕作為參數(shù)
self.btn1.toggled.connect(lambda :self.btnstate(self.btn1)) self.btn1.toggled.connect(lambda :self.btnstate(self.btn1))
當(dāng)發(fā)射toggled信號(hào)后,使用btnstate()函數(shù)來檢查按鈕的狀態(tài)
所有QRadioButton的控件是互斥的,所以也可以通過多個(gè)父控件來對(duì)QRadioButton進(jìn)行分組。不過,一般使用QButtonGroup來對(duì)按鍵進(jìn)行分組。通過按鍵分組的方式來讓不同類型的QRadioButton不互相排斥。
本文主要講解了PyQt5單選按鈕控件QRadioButton詳細(xì)使用方法與實(shí)例,更多關(guān)于PyQt5控件知識(shí)請(qǐng)查看下面的相關(guān)鏈接
相關(guān)文章
python cx_Oracle模塊的安裝和使用詳細(xì)介紹
這篇文章主要介紹了python cx_Oracle模塊的安裝和使用詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2017-02-02詳解Python的迭代器、生成器以及相關(guān)的itertools包
這篇文章主要介紹了詳解Python的迭代器、生成器以及相關(guān)的itertools包,Iterators、Generators是Python的高級(jí)特性,亦是Python學(xué)習(xí)當(dāng)中必會(huì)的基本知識(shí),需要的朋友可以參考下2015-04-04解析Sentry?Relay?二次開發(fā)調(diào)試
這篇文章主要介紹了Sentry?Relay?二次開發(fā)調(diào)試簡(jiǎn)介,集成測(cè)試要求?Redis?和?Kafka?在其默認(rèn)配置中運(yùn)行,獲取所有必需服務(wù)的最便捷方式是通過?sentry?devservices,這需要最新的?Sentry?開發(fā)環(huán)境,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧2022-03-03零基礎(chǔ)寫python爬蟲之抓取百度貼吧并存儲(chǔ)到本地txt文件改進(jìn)版
前面已經(jīng)發(fā)了一篇關(guān)于百度貼吧抓取的代碼,今天我們來看下代碼的改進(jìn)版,參考了上篇抓取糗事百科的思路,給需要的小伙伴們參考下吧2014-11-11python系統(tǒng)指定文件的查找只輸出目錄下所有文件及文件夾
這篇文章主要介紹了python系統(tǒng)指定文件的查找只輸出目錄下所有文件及文件夾,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01python對(duì)矩陣進(jìn)行轉(zhuǎn)置的2種處理方法
這篇文章主要介紹了python對(duì)矩陣進(jìn)行轉(zhuǎn)置的2種處理方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07