欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python GUI庫(kù)圖形界面開發(fā)之PyQt5單選按鈕控件QRadioButton詳細(xì)使用方法與實(shí)例

 更新時(shí)間:2020年02月28日 15:02:33   作者:jia666666  
這篇文章主要介紹了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)鏈接

相關(guān)文章

最新評(píng)論