python GUI庫圖形界面開發(fā)之PyQt5單選按鈕控件QRadioButton詳細(xì)使用方法與實例
PyQt5單選按鈕控件QRadioButton簡介
QRadioButton 繼承自 QAbstractButton,其主要作用提供用戶一些互斥的按鈕。
QRadioButton 只有一個的時候,功能類似于復(fù)選框, 可以選擇和取消,但是如果有多個,則必須有一個被選中
QRadioButton類中常用的方法
| 方法 | 描述 |
|---|---|
| setCheckanle() | 設(shè)置按鈕是否已經(jīng)被選中,可以改變單選按鈕的選中狀態(tài),如果設(shè)置為True則表示單選按鈕將保持以點(diǎn)擊和釋放狀態(tài) |
| isChecked() | 返回單選按鈕的狀態(tài),返回值True或False |
| setText() | 設(shè)置單選按鈕顯示的文本 |
| text() | 返回單選按鈕顯示的文本 |
QRadioButton按鈕的使用實例
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信號與槽函數(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代碼分析
在這個例子中,兩個互斥的單選框被放置在窗口中
第一個單選按鈕btn1,被設(shè)置成默認(rèn)狀態(tài)
self.btn1.setChecked(True)
當(dāng)選擇兩個按鈕相互切換時,按鈕的狀態(tài)發(fā)生改變,將觸發(fā)toggle信號,并與槽函數(shù)btnstate()連接。使用lamdba的方式允許將源信號傳遞給槽函數(shù),將按鈕作為參數(shù)
self.btn1.toggled.connect(lambda :self.btnstate(self.btn1)) self.btn1.toggled.connect(lambda :self.btnstate(self.btn1))
當(dāng)發(fā)射toggled信號后,使用btnstate()函數(shù)來檢查按鈕的狀態(tài)
所有QRadioButton的控件是互斥的,所以也可以通過多個父控件來對QRadioButton進(jìn)行分組。不過,一般使用QButtonGroup來對按鍵進(jìn)行分組。通過按鍵分組的方式來讓不同類型的QRadioButton不互相排斥。
本文主要講解了PyQt5單選按鈕控件QRadioButton詳細(xì)使用方法與實例,更多關(guān)于PyQt5控件知識請查看下面的相關(guān)鏈接
- Python PYQT界面點(diǎn)擊按鈕隨機(jī)變色功能
- PyQt5 designer 頁面點(diǎn)擊按鈕跳轉(zhuǎn)頁面實現(xiàn)
- python編程PyQt5創(chuàng)建按鈕及觸發(fā)點(diǎn)擊事件示例解析
- python GUI庫圖形界面開發(fā)之PyQt5切換按鈕控件QPushButton詳細(xì)使用方法與實例
- python之PyQt按鈕右鍵菜單功能的實現(xiàn)代碼
- PyQt5基本控件使用詳解:單選按鈕、復(fù)選框、下拉框
- pyqt5使用按鈕進(jìn)行界面的跳轉(zhuǎn)方法
- python之pyqt5通過按鈕改變Label的背景顏色方法
- PyQt彈出式對話框的常用方法及標(biāo)準(zhǔn)按鈕類型
- Pyqt5中6種按鈕的具體使用
相關(guān)文章
Java實現(xiàn)的執(zhí)行python腳本工具類示例【使用jython.jar】
這篇文章主要介紹了Java實現(xiàn)的執(zhí)行python腳本工具類,結(jié)合實例形式分析了java使用jython.jar執(zhí)行Python腳本的具體操作技巧,需要的朋友可以參考下2018-03-03
python多個模塊py文件的數(shù)據(jù)共享實例
今天小編就為大家分享一篇python多個模塊py文件的數(shù)據(jù)共享實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01
python 多進(jìn)程隊列數(shù)據(jù)處理詳解
今天小編就為大家分享一篇python 多進(jìn)程隊列數(shù)據(jù)處理詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12

