pyside中的按钮相关组件
qingheluo2024-10-30清河洛238
QAbstractButton类QAbstractButton类是所有按钮相关组件的基类,该类中定义的常用方法autoExclusive()、setAutoExclusive(bool) 唯一性,默认False
如果设为True,则同一父组件的可选按钮中只能选中一个,选中另一个会自动取消之前选中的按钮
autoRepeat()、setAutoRepeat(bool) 是否发送按钮的按下、松开及选中信号,默认False
autoRepeatDelay()、setAutoRepeatDelay(int) 以毫秒为单位设置发送按钮事件的延迟
autoRepeatInterv...
QAbstractButton类
QAbstractButton类是所有按钮相关组件的基类,该类中定义的常用方法
autoExclusive()、setAutoExclusive(bool) 唯一性,默认False
如果设为True,则同一父组件的可选按钮中只能选中一个,选中另一个会自动取消之前选中的按钮
autoRepeat()、setAutoRepeat(bool) 是否发送按钮的按下、松开及选中信号,默认False
autoRepeatDelay()、setAutoRepeatDelay(int) 以毫秒为单位设置发送按钮事件的延迟
autoRepeatInterval()、setAutoRepeatInterval(int) 以毫秒为单位设置发送按钮事件的重复间隔
isCheckable()、setCheckable(bool) 按钮是否可选中
isChecked()、setChecked(bool) 获取和这是按钮的选中状态
isDown()、setDown(bool) 按钮是否保持按下状态,如果为True,不会发送 pressed()和clicked()信号
icon()、setIcon(QIcon) 按钮图标
iconSize()、setIconSize(QSize) 按钮图标大小
shortcut()、setShortcut(str) 按钮快捷键
text()、setText(str) 按钮文本
animateClick() 模拟按键,按下按钮并于100毫秒后松开
click() 模拟点击按钮
group() QButtonGroup,按钮所属组
toggle() 切换按钮选中状态
事件相关
checkStateSet() 当调用setChecked()方法时触发
在nextCheckState()事件函数中调用不会触发该事件
nextCheckState() 点击按钮时触发,用于更改按钮的状态
该事件函数内部调用setChecked(!isChecked())
可以通过重写该函数改变按钮状态更改时的处理逻辑
信号相关
clicked(checked=False) 按钮点击
toggled(checked) 按钮状态改变
pressed() 按钮按下
released() 按钮松开
按钮组QButtonGroup
按钮组提供了一个用于放置多个按钮的容器,用于管理组中每个按钮成员的状态,不提供任何可视化的表现
常用方法
exclusive()、setExclusive(bool) 唯一性,当设置为True时组中按钮只能有一个选中
addButton(but_obj[,id=-1]) 将一个按钮组件添加到按钮组,可选参数id用于表示添加的按钮在该按钮组中的id
如果为默认值-1,则自动从-2开始分配id(-2,-3,-4,-5,...)
如果需要手动指定id,尽量使用正整数用以避免可能跟自动分配的id冲突
button(id) 返回指定id的按钮对象,不存在返回None
buttons() 返回所有按钮的实例对象组成的list
checkedButton() 返回选中的按钮对象
checkedId() 返回选中的按钮的id
setId(but_obj,id) 设置指定按钮的id,id不能设为-1
id(but_obj) 返回指定按钮对象的id,不存在返回-1
removeButton(but_obj) 删除按钮
信号相关
buttonPressed(but_obj) 按钮组中的任意按钮按下
buttonReleased(but_obj) 按钮组中的任意按钮松开
buttonClicked(but_obj) 点击按钮组中的任意按钮
buttonToggled(but_obj,checked) 按钮组中的任意按钮状态改变
idReleased(id)
idPressed(id)
idClicked(id)
idToggled(id,checked)
QRadioButton,单选按钮
QRadioButton(parent=None)
QRadioButton(text,parent=None)
单选按钮被设置为唯一性,同一个按钮组或同一个组件内的单选按钮同时仅有一个可选中
QCheckBox,复选按钮
在按钮基类中的状态仅有两种,选中和未选中,复选按钮在此基础上拓展为三种状态
状态的表示也由基类中的bool值改为int,0表示未选中,1表中中间态,2表示选中
QCheckBox(parent=None)
QCheckBox(text,parent=None)
isTristate()、setTristate(bool) 是否启用复选按钮的三态,默认False
checkState()、setCheckState(int) 获取和设置按钮状态
如果未启用三态,可以使用继承自父类的isChecked()、setChecked(bool)
信号相关
checkStateChanged(int) 当按钮状态发生改变时
QPushButton,常规按钮
QPushButton(parent=None)
QPushButton(text,parent=None)
QPushButton(icon,text,parent=None)
description()、setDescription(str) 按钮的描述,通常以比主文本更小的字体显示
isDefault()、setDefault(bool) 当组件获得焦点时的默认按钮
当按下回车或空格后自动按下默认按钮
默认按钮功能仅可用于对话框组件
isFlat()、setFlat(bool) 按钮边框是否升高,默认false
当设置为True时,按钮被按下以外的状态时不会绘制按钮背景
menu()、setMenu(QMenu) 点击按钮后的弹出菜单
showMenu() 强制弹出按钮关联的菜单,并阻塞直到菜单关闭