1、QAbstractButton(按钮共性当中关于状态的设定)可以像外界展示不同的状态,从而供用户做一个参考。
QAbstractButton()是抽象类,不能直接使用。
按钮按下状态:当鼠标点击按钮,未松开则一直为按下状态。把三个按钮都置为按下状态。
import sys
from PyQt5.Qt import *
app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("按钮的功能测试--自动重复")
window.resize(500, 500)
push_btn = QPushButton(window)
push_btn.setText("重复测试")
push_btn.move(100, 100)
# 设置按钮自动重复
radio_Button = QRadioButton(window)
radio_Button.setText("这是一个radio")
radio_Button.move(100, 150)
check_btn = QCheckBox(window)
check_btn.setText("这是checkbox")
check_btn.move(100, 200)
# 把三个按钮都置为按下状态
push_btn.setDown(True)
radio_Button.setDown(True)
check_btn.setDown(True)
window.show()
sys.exit(app.exec_())
设置按钮样式。
push_btn.setStyleSheet("QPushButton:pressed {background-color:red;}")
选中状态:判定按钮是否被选中。(使用前提是按钮设置为可以被选中,即isCheckable()为True)
是否可以被选中:isCheckable(),(是否可以选取)
是否被选中:isChecked()
# 判断按钮是否可以被选中
push_btn.isChecked(True)
print(push_btn.isCheckable())
print(radio_Button.isCheckable())
print(check_btn.isCheckable())
QPushButton()本身状态是不可以被选中的,但是经过设置之后可以被选中。
设置按钮是否被选中:setChecked(True)
toggle()相当于获得原有的按钮的状态,取反,在设置到按钮的状态上。(切换选中与非选中状态)
push_btn.toggle()
push_btn.setChecked(not push_btn.isChecked())
禁用按钮:
2、按钮共性类别中的排他性:
如果同时设置多个按钮,且所有按钮都设置了排他性,则在同一时刻只能选中一个按钮。
# 测试按钮的排他性
print(push_btn.autoExclusive())
# 设置为具有排他性的按钮
push_btn.setAutoExclusive(True)