python GUI庫(kù)圖形界面開發(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)鏈接
- Python PYQT界面點(diǎn)擊按鈕隨機(jī)變色功能
- PyQt5 designer 頁(yè)面點(diǎn)擊按鈕跳轉(zhuǎn)頁(yè)面實(shí)現(xiàn)
- python編程PyQt5創(chuàng)建按鈕及觸發(fā)點(diǎn)擊事件示例解析
- python GUI庫(kù)圖形界面開發(fā)之PyQt5切換按鈕控件QPushButton詳細(xì)使用方法與實(shí)例
- python之PyQt按鈕右鍵菜單功能的實(shí)現(xiàn)代碼
- PyQt5基本控件使用詳解:單選按鈕、復(fù)選框、下拉框
- pyqt5使用按鈕進(jìn)行界面的跳轉(zhuǎn)方法
- python之pyqt5通過按鈕改變Label的背景顏色方法
- PyQt彈出式對(duì)話框的常用方法及標(biāo)準(zhǔn)按鈕類型
- Pyqt5中6種按鈕的具體使用
相關(guān)文章
Java實(shí)現(xiàn)的執(zhí)行python腳本工具類示例【使用jython.jar】
這篇文章主要介紹了Java實(shí)現(xiàn)的執(zhí)行python腳本工具類,結(jié)合實(shí)例形式分析了java使用jython.jar執(zhí)行Python腳本的具體操作技巧,需要的朋友可以參考下2018-03-03python多個(gè)模塊py文件的數(shù)據(jù)共享實(shí)例
今天小編就為大家分享一篇python多個(gè)模塊py文件的數(shù)據(jù)共享實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-01-01python 多進(jìn)程隊(duì)列數(shù)據(jù)處理詳解
今天小編就為大家分享一篇python 多進(jìn)程隊(duì)列數(shù)據(jù)處理詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12