Python GUI编程网 > PyQt5控件_PyQt5控件方法大全 > PyQt5按钮控件QPushButton排他性设置
python教程

PyQt5按钮控件QPushButton排他性设置

发布博客:2022年11月15日 02:00
阅读:22
作者:Python GUI编程网

按钮控件的排他性顾名思义就是一组按钮同一时刻只能被选中一个,这有点想我们驾校考试的单选题。这里我们不适用QPushButton来掩饰,前文中我们用过一个QAbstractButton子类QRadioButton演示效果比较明显。

按钮控件的排他性顾名思义就是一组按钮同一时刻只能被选中一个,这有点想我们驾校考试的单选题。这里我们不适用QPushButton来掩饰,前文中我们用过一个QAbstractButton子类QRadioButton演示效果比较明显。

这里主要学习一下几个方法:

btn.setAutoExclusive()
btn.autoExclusive()

一般来说除了单选按钮以外其他按钮自动排他都是False,只有单选按钮会默认True。我们就用单选按钮来演示:

btn1 = QRadioButton(window)
 btn1.move(60, 60)
 btn1.resize(80, 40)
 btn1.setText('按钮1')
 btn1.setAutoExclusive(True)
 
 btn2 = QRadioButton(window)
 btn2.move(160, 60)
 btn2.resize(80, 40)
 btn2.setText('按钮2')
 btn2.setAutoExclusive(True)

效果如下:

QPushButton

同时按钮1和2只能被选中一个。这里可以通过autoExclusive()来判断,就不验证了,下面是完整代码。

from PyQt5.Qt import *
 import sys
 
 app = QApplication(sys.argv)
 window = QWidget()
 window.setWindowTitle('按钮状态 - PyQt5中文网')
 window.resize(600, 450)
 
 btn1 = QRadioButton(window)
 btn1.move(60, 60)
 btn1.resize(80, 40)
 btn1.setText('按钮1')
 btn1.setAutoExclusive(True)
 
 btn2 = QRadioButton(window)
 btn2.move(160, 60)
 btn2.resize(80, 40)
 btn2.setText('按钮2')
 btn2.setAutoExclusive(True)
 print(btn2.autoExclusive())
 
 window.show()
 sys.exit(app.exec_())