python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5單選按鈕控件QRadioButton詳細(xì)使用方法與實(shí)例
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 sysfrom 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),選中還是沒(mé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_())
效果如圖
在這個(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ù)來(lái)檢查按鈕的狀態(tài)
所有QRadioButton的控件是互斥的,所以也可以通過(guò)多個(gè)父控件來(lái)對(duì)QRadioButton進(jìn)行分組。不過(guò),一般使用QButtonGroup來(lái)對(duì)按鍵進(jìn)行分組。通過(guò)按鍵分組的方式來(lái)讓不同類型的QRadioButton不互相排斥。
本文主要講解了PyQt5單選按鈕控件QRadioButton詳細(xì)使用方法與實(shí)例,更多關(guān)于PyQt5控件知識(shí)請(qǐng)查看下面的相關(guān)鏈接
相關(guān)文章:
1. React+umi+typeScript創(chuàng)建項(xiàng)目的過(guò)程2. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執(zhí)行過(guò)程解析3. SharePoint Server 2019新特性介紹4. ASP中常用的22個(gè)FSO文件操作函數(shù)整理5. 三個(gè)不常見(jiàn)的 HTML5 實(shí)用新特性簡(jiǎn)介6. ASP調(diào)用WebService轉(zhuǎn)化成JSON數(shù)據(jù),附j(luò)son.min.asp7. .Net core 的熱插拔機(jī)制的深入探索及卸載問(wèn)題求救指南8. 無(wú)線標(biāo)記語(yǔ)言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁(yè)9. 讀大數(shù)據(jù)量的XML文件的讀取問(wèn)題10. 解決ASP中http狀態(tài)跳轉(zhuǎn)返回錯(cuò)誤頁(yè)的問(wèn)題
