python qtdesigner图标按键_第15.14节 PyQt(Python+Qt)入门学习:Designer的Buttons按钮详解...

一、引言

Qt Designer中的Buttons部件包括Push Button(常规按钮、一般称按钮)、Tool Button(工具按钮)、Radio Button(单选按钮)、Check Box(复选框)、Command Link Button(命令链接按钮)和Dialog Button Box(对话框按钮盒)六种类型,这六种类型的Buttons部件,都是QWidget的直接或间接子类,同时除了Dialog Button Box外,其他五种都是QAbstractButton的直接子类。

本节将详细介绍所有Buttons部件,由于QWidget属性在前面章节已经介绍,因此本节先介绍五大按钮部件的直接父类QAbstractButton相关属性,然后再针对每种部件介绍特有属性。

二、QAbstractButton相关属性

2.1、属性概述

QAbstractButton是按钮类部件的直接父类(Dialog Button Box本身不是按钮),QAbstractButton在Designer中的属性有text、icon、iconSize、shortcut、checkable、checked、autoRepeat、autoExclusive、autoRepeatDelay、autoRepeatInterval十个属性。这十个属性可以分为两类,一类是外观类,包括text、icon、iconSize三个属性,其他七个属性老猿都将其归为操作类属性。

2.1.1、text属性

2.1.1.1、属性介绍

text属性保存按钮上显示的文字,如果按钮未设置文字则为空字符串。如果文字中包含有与符号(’&’),则该按钮会自动设置一个快捷键,快捷键就是’&'后第一个字符,显示时会在该字符下加下划线。例如将PushButton的按钮文字设置为“P&ushButton1”,则显示效果如下:

20191126102111704.png

可以看到u下面多了下划线,使用“Alt+u”组合键就可以操作该按钮。

注意:

1、如果要在text中显示’&'符号,需要使用两个‘&‘符号;

2、当text中未设置快捷键时,该按钮的快捷键都会被清除。

2.1.1.2 操作方法

可以通过text()获取text属性的值,通过setText(QString )设置text属性的值。

2.1.2、icon属性

2.1.2.1、属性介绍

icon属性保存按钮上展示的图标,图标的缺省大小由图形界面的样式决定,但可以通过 iconSize 属性进行调整。

图标的几种子属性状态的含义与QWidget的windowIcon属性相同,可以参考《PyQt(Python+Qt)学习随笔:Qt Designer中部件的windowIcon属性》的介绍。

2.1.2.2、操作方法

通过icon()可以访问icon属性的值,通过setIcon( QIcon )设置icon属性的值。

2.1.3、iconSize属性

iconSize属性保存按钮图标的大小,这个大小是图标的最大尺寸,小图标不会放大。

可以通过iconSize()和setIconSize(QSize )来访问和设置iconSize的值。

2.1.4、shortcut(快捷菜单) 属性

2.1.4.1、属性及方法介绍

shortcut 属性保存与按钮关联的快捷键。可以使用shortcut()和setShortcut(QKeySequence)访问和设置该属性。

2.1.4.2、补充说明

关于这个属性官网介绍的不多,经老猿实际验证,它与前面介绍的text属性通过‘&’符号设置的快捷键有如下区别:

1、在该属性设置的情况下,text属性的快捷键不起作用;

2、text属性的快捷键只支持一个字符,而这个可以设置多个字符。如将计算器的clear快捷键设置为‘del’三个字符,则设置界面如下:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xhb1l1YW5QeXRob24=,size_16,color_FFFFFF,t_70

3、text属性的快捷键需要使用:Alt+快捷字符触发,而shortcut属性的快捷键就是设置的字符自身,并且可以支持非字母键。

2.1.5、checkable(是否可选择)属性

checkable属性确认按钮是否可以被选中,缺省情况下该值为False,即按钮是不能被选中的。

可选择的pushButton、toolButton、commandLinkButton类按钮按下之后,按钮不会自动弹起来,此时按钮为选中状态,当再次点击按钮时,按钮会弹起来,变为未被选中状态。

可选择的Radio Button、checkBox类按钮按下之后,按钮在选择和不选择状态之间切换,当按钮不能选择时,Radio Button类按钮无法操作,checkBox类按钮需要看tristate是否设置为False,如果设置为了False,则checkBox类按钮也无法操作,否则可以在未选中和半选中之间切换。

可通过isCheckable() 和setCheckable(bool) 读取和设置按钮的可选择状态。

2.1.6、checked(是否选中)属性

checked属性保存按钮是否被选中的状态值,如果为True表示按钮被选中,否则为未被选中。

可以通过isChecked()、setChecked(bool)来访问和设置checked属性。

也可以通过按钮的信号clicked(bool) 来获取按钮的选中状态,信号的槽函数中参数即为按钮的是否选中状态。

2.1.7、autoRepeat、autoRepeatDelay、autoRepeatInterval属性

autoRepeat、autoRepeatDelay、autoRepeatInterval这三个属性为一组属性,用于控制按钮的按下事件是否重复、重复的频次等。

2.1.7.1、autoRepeat

如果启用了autoRepeat,则当按钮按下且鼠标未释放时,会定期发出pressed()、released()和clicked()信号。默认情况下,autoRepeat处于禁用状态。autoRepeat处于允许状态时,延迟时间和重复间隔由autoRepeatDelay、autoRepeatInterva以毫秒为单位定义。

可以通过autoRepeat() 、setAutoRepeat(bool)来访问和设置autoRepeat属性。

注意:如果用快捷键按下某个按钮,则系统将启用自动重复并计时,而不是QAbstractButton类来启用。此种情况下,pressed()、released()和clicked()信号将像正常情况一样发出。

2.1.7.2、autoRepeatDelay

此属性保持自动重复的初始延迟,单位是毫秒。

如果启用了autoRepeat,则autoRepeatDelay定义自动重复开始之前的初始延迟。即首次发送信号之前的延时,也就是在按钮被按下到首次发送信号之间的时间间隔。

可以通过autoRepeatDelay () 、setAutoRepeatDelay (int)来访问和设置autoRepeatDelay 属性。

2.1.7.3、autoRepeatInterval

autoRepeatInterval属性保存自动重复触发按钮的pressed()、released()和clicked()信号每次之间的时间间隔,单位是毫秒。

可以通过autoRepeatInterval() 、setAutoRepeatInterval (int)来访问和设置autoRepeatDelay 属性。

2.1.8、autoExclusive属性

autoExclusive 属性保留是否启用按钮的自动排它特性,如果启用了,则属于同一父部件的可选中按钮任何时候只能选中一个按钮;选中另一个按钮将自动取消选中先前选中的按钮,这个功能与排他性按钮组的功能类似。

这个属性对属于按钮组的按钮没有影响。

默认情况下,除单选按钮外,其他按钮的autoExclusive 属性为禁用(False)状态。

可以使用autoExclusive()、setAutoExclusive(bool)访问和设置该属性。

三、pushButton按钮

3.1、简介

PushButton为一个常规的命令按钮,按钮,或者命令按钮,是图形用户界面中最常用的部件之一,需要父组件作为容器,能够在父组件中进行定位,用于接受用户点击执行命令或触发事件。典型的按钮有OK、Apply、Cancel、Close、Yes、No和Help等。

<
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值