QAbstractButton类

qt按钮功能循环触发_PyQt5控件:按钮控件系列(QAbstractButton类) QAbstractButton类是按钮小部件的抽象基类,提供按钮通用的功能。按钮,常常被理解为触发一种动作请求或者命令,是与用户进行指令交互的操作。Qt中Button系列根据用途被划分为不同的定义Qt Designer提供6种Button控件QPushButton 按钮 QAbstractButton类属性text 显示文本icon 设置图标iconSize 图标大小shortcut 设置快捷键c... 阅读详情

 QAbstractButton类是按钮控件的抽象基类,提供按钮通用的功能。


Header:#include <QAbstractButton>
CMake:find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake:QT += widgets
Inherits:

 <<< QWidget

Inherited By:

复选按钮  QCheckBox

普通按钮  QPushButton >>>

单选按钮  QRadioButton

工具栏按钮  QToolButton


【详细说明】

QAbstractButton类是按钮控件的基类,它实现一个抽象按钮,它的子类处理用户操作,由用户指定如何绘制按钮。

QAbstractButton 提供对普通按钮和可检查(可切换)按钮的支持。可检查按钮在 QRadioButton 和QCheckBox 类中实现。普通按钮在 QPushButton和QToolButton类中实现,如果需要,它们还提供切换行为。

任何按钮都可以显示包含文本和图标的标签。

setText() 设置文本;

setIcon() 设置图标。

如果按钮被禁用,其"disabled" 标签将被更改,使按钮具有“禁用”外观。

如果该按钮是一个文本按钮,并且其中包含(“&”),则该按钮会自动创建一个快捷键。

QPushButton *button = new QPushButton(tr("Ro&ck && Roll"), this);

如上,快捷方式被分配给按钮,当用户按下Alt+C时该按钮将调用animateClick()(参阅 QShortcut)。

可使用“&&”显示实际的&字符。

对于没有任何文本的按钮,用户还可以用setShortcut() 函数来设置自定义快捷键。

button->setIcon(QIcon(":/images/print.png"));
button->setShortcut(tr("Alt+F7"));

Qt提供的所有(4种)按钮都可以同时显示 text 和 icons。

可以通过 QPushButton::setDefault()和 QPushButton::setAutoDefault() 将按钮设为对话框中的默认按钮。

★  QAbstractButton 提供用于按钮的大多数状态:

  • isDown() 指示是否按下该按钮。
  • isChecked() 表示是否是“可检查”按钮,即:只能选中和取消选中的按钮(见下文)。
  • isEnabled() 是否可用,即用户是否可以按下该按钮。
  • setAutoRepeat() 设置用户按住按钮是否会自动重复。自动重复延迟 autoRepeatDelay和 自动重复间隔autoRepeatInterval 定义了如何完成自动重复。
  • setCheckable()  可设置该按钮是否为切换按钮。

    注意:与其他控件不同,从QAbstractButton类派生的按钮在禁用时也接受鼠标和上下文菜单事件。

★   isDown() ()和isChecked() 的区别如下。当用户单击一个可切换按钮进行检查时,首先按下pressed该按钮,然后释放到选中checked状态。当用户再次单击它(取消选中它)时,按钮首先是按下pressed状态,然后进入未选中unchecked状态(isChecked()和 isDown() 都是false)。

QAbstractButton类提供四个信号:

  1. pressed() :当鼠标光标在按钮内并按下鼠标左键时发出。
  2. released() :当鼠标左键释放时发出。
  3. clicked() :此信号在首次按下然后松开按钮时、键入快捷键或调用 click() 或 animateClick() 时发出。
  4. toggled() :在可切换按钮的状态发生变化时发出。

★ 实现QAbstractButton的子类时,必须重新实现 paintEvent() 以绘制按钮的轮廓及其文本或像素图。通常建议重新实现“控件推荐尺寸” sizeHint() ,有时也建议重新实现“可点击区域”hitButton() (以确定按下动作是否在按钮内)。对于具有两个以上状态的按钮(如三态按钮),您还须重新实现检查状态checkStateSet() 和下一个检查状态nextCheckState()。


【属性】

autoExclusive : bool

此属性保存是否启用了自动独占性。除单选按钮外,自动独占性默认处于关闭状态。

如果启用了自动独占性,则属于同一父控件的可检查按钮的行为就像它们是同一独占按钮组的一部分一样。在专属按键组中,任何时候只能勾选一个按键;选中另一个按钮会自动取消选中之前选中的按钮。

autoRepeat : bool

此属性决定是否启用自动重复。

如果启用了自动重复,则 pressed(), released()和 clicked()按钮按下时,会定期发出信号。默认情况下,自动重复是关闭的。初始延迟和重复间隔由autoRepeatDelay 和 autoRepeatInterval.下式义,单位为毫秒。

注意:如果通过快捷键按下按钮,则自动重复由系统而不是该类启用和计时。

autoRepeatDelay : int

该属性保存自动重复的初始延迟,如 autoRepeat 当前可用,则由此属性定义自动重复开始之前的初始延迟(毫秒)。

autoRepeatInterval : int

该属性保存自动重复的间隔。

 如 autoRepeat 当前可用,则由此属性定义自动重复间隔的长度。

checkable : bool

该属性决定按钮是否"可检查",默认按钮不可检查。

checked : bool

该属性保存按钮是否被选中。

只能检查”可检查“的按钮。默认按钮处于未选中状态。

down : bool

该属性保存按钮是否被按下。

按钮被按下时该属性为true。如果将此属性设置为true,不会发出pressed() 和 clicked() 信号。默认值为false。

icon : QIcon

该属性保存按钮图标。

图标的默认大小由GUI样式定义,但可以设置iconSize。

iconSize : QSize

该属性保存用于该按钮的图标大小。

这是图标的最大尺寸,较小的图标并不会被放大。

shortcut : QKeySequence

此属性保存与按钮关联的快捷方式。

text : QString

该属性保存按钮上显示的文本。

如果按钮没有文本,text()函数将返回一个空字符串。

如果文本包含一个(&),将自动为其创建一个快捷方式。“&”后面的字符将用作快捷键。如果文本没有定义快捷方式,任何以前的快捷方式都将被覆盖或清除。要显示实际的&符号,请使用“&&”。


【公共函数】

QAbstractButton(QWidget *parent = nullptr)构造一个抽象按钮。
virtual~QAbstractButton()
boolautoExclusive() const返回是否启用自动独占性。
boolautoRepeat() const返回是否启用自动重复。
intautoRepeatDelay() const返回自动重复的初始延迟。
intautoRepeatInterval() const返回自动重复的间隔。
QButtonGroup *group() const返回此按钮所属的组。
QIconicon() const返回按钮上显示的图标。
QSizeiconSize() const返回图标尺寸。
boolisCheckable() const返回是否可检查。
boolisChecked() const返回是否选中按钮。
boolisDown() const返回是否按下按钮。
voidsetAutoExclusive(bool)设置自动独占性。
voidsetAutoRepeat(bool)设置自动重复。
voidsetAutoRepeatDelay(int)设置自动重复的初始延迟。
voidsetAutoRepeatInterval(int)设置自动重复的间隔。
voidsetCheckable(bool)设置按钮状态。
voidsetDown(bool)设置按下按钮。
voidsetIcon(const QIcon &icon)设置图标。
voidsetShortcut(const QKeySequence &key)设置快捷方式。
voidsetText(const QString &text)设置文本。
QKeySequenceshortcut() const返回快捷方式。
QStringtext() const返回按钮文本。

【公有槽函数】

voidanimateClick()

执行按下按钮动作,并在 100 毫秒后松开。发出与点击相关的信号。在松开按钮之前再次调用此函数将重置释放计时器。如果按钮是 disabled,则不执行任何操作。

voidclick()

执行单击。发出与点击相关的信号。如果按钮可选中,则切换按钮的状态。 如果按钮是 disabled,则不执行任何操作。

voidsetChecked(bool)设置选中按钮状态。
voidsetIconSize(const QSize &size)设置图标尺寸。
voidtoggle()

切换可检查按钮的状态。


【信号】

voidclicked(bool checked = false)

当按钮被激活时(当鼠标光标在按钮内时按下然后松开),键入快捷键或调用 click() 或 animateClick()时,会发出此信号。值得注意的是,如果调用 l setDown(), setChecked() 或 toggle(),并不会发出此信号。

如果按钮可选中,则为true(如果按钮处于选中状态)或false (如果按钮未选中)。

voidpressed()按下按钮时会发出此信号。
voidreleased()松开按钮时会发出此信号。
voidtoggled(bool checked)

属性的通知器信号。每当可检查按钮更改其状态时,都会发出此信号。如果按钮处于选中状态,则为 true;如果按钮未选中,则为 false。

这可能是用户 click()槽激活的结果,也可能是因为调用了 setChecked() 。

在发出此信号之前,会更新独占按钮组中按钮的状态。这意味着槽可以作用于状态已更改的组中的按钮,发出的“关闭”信号或“打开”信号。

例如,可以使用以下模式实现对新选中的按钮发出的信号做出反应但忽略来自未选中按钮的信号的插槽:

void MyWidget::reactToToggle(bool checked)
{
   if (checked) {
      // Examine the new button states.
      ...
   }
}

可以使用该类创建按钮组 QButtonGroup,并使用  QButtonGroup::buttonClicked() 信号监视按钮状态的更新。


【受保护函数】

virtual voidcheckStateSet()此虚拟处理程序在使用 setChecked() 时调用,除非它是从 nextCheckState() 内部调用的。它允许子类重置其中间按钮状态。
virtual boolhitButton(const QPoint &pos) const

返回是否在可单击的按钮矩形内。

默认情况下,可点击区域是整个控件。子类可以重新实现此功能,以提供对不同形状和大小的可单击区域的支持。

virtual voidnextCheckState()单击按钮时调用此虚拟处理程序。默认实现调用 setChecked( ! isChecked()) 如果按钮 isCheckable()。它允许子类实现中间按钮状态。

【重实现的保护函数】

virtual void

changeEvent(QEvent *e) override

重实现了其父类 < QWidget 中对应的虚函数。
virtual boolevent(QEvent *e) override
virtual voidfocusInEvent(QFocusEvent *e) override
virtual voidfocusOutEvent(QFocusEvent *e) override
virtual voidkeyPressEvent(QKeyEvent *e) override
virtual voidkeyReleaseEvent(QKeyEvent *e) override
virtual voidmouseMoveEvent(QMouseEvent *e) override
virtual voidmousePressEvent(QMouseEvent *e) override
virtual voidmouseReleaseEvent(QMouseEvent *e) override
virtual voidpaintEvent(QPaintEvent *e) override = 0
virtual voidtimerEvent(QTimerEvent *e) override

<<< 返回上一级【QWidget】 

<<< 返回根页面

Qt中的QAbstractButton类和Matlab 按钮的属性通过uicontrol函数进行设置,'Style’属性设置为’pushbutton’表示创建一个按钮,'String’属性设置为’Click me’表示按钮的文本为"Click me"。在Matlab中,我们也可以使用类似的概念来创建和操作按钮。QAbstractButton类是Qt框架中用于创建按钮的基类,在Matlab中可以通过GUI工具箱实现类似的按钮功能。QAbstractButton类是Qt中按钮类的基类,提供了一些共有的功能和方法,例如按钮的状态管理和信号槽机制等。 阅读详情

相关推荐

QT软件开发之基础控件--2.1.1 QAbstractButton类

2.1 按钮控件组 QT Creator UI设计师界面的按钮组截图如下: 图2-1按钮控件组 以下是对按钮组控件的一些功能介绍: 1.Push Button按压按钮:最普通的按钮,按(点击)按钮命令计算机执行一些动作,或者回答问题,比如windows开始菜单里的重启,注销,关机等按钮。 2.Tool Button工具按钮:工具按钮通常是一个集合,一般集成在工具栏里。比如打开,保存,复制,粘贴,剪切等常用的操作。 3.Radio Button单选按钮:单选按钮通常是两个以上的形式出现在一块,

587

QAbstractButton

一、描述 按钮的抽象类。此类的子类处理用户操作,并指定按钮的绘制方式。 如果按钮是文本按钮,字符串中包含与号 ('&'),则 QAbstractButton 会自动创建一个快捷键。 QPushButton *button = new QPushButton(tr("Ro&ck && Roll"), this); Alt+C 快捷键分配给按钮,即当用户按下 Alt+C 时,按钮将调用 animateClick()。(要显示实际的&符号,使用“&&”)

友善啊,朋友的博客 1881

使用Qt Designer设计GUI界面时,QAbstractButton是一个常用的控件类,我们可以通过派生这个类创建自己的按钮部件

接下来,我们重写了autoExclusive和setAutoExclusive方法,并添加了handleClicked方法来处理点击事件,并根据autoExclusive属性状态设置其他按钮的选中状态。在自定义按钮部件中,autoExclusive属性可以实现单选和多选功能。首先,我们需要在Qt Designer中创建一个基于QAbstractButton的自定义控件类,并添加必要的属性和信号槽函数。通过上述代码,我们可以很方便地实现自定义按钮部件的单选和多选功能,并在需要的时候发出相应的信号。

code_welike的博客 286

Qt类 | QAbstractButton类详解

类是按钮控件的抽象基类。这个类是QPushButton、QToolButton、QCheckBox和QRadioButton的基类。普通按钮和可勾选(切换)按钮。可勾选按钮在QRadioButton和QCheckBox类中实现。普通按钮在QPushButton和QToolButton类中实现。类定义了按钮共有的功能,如文本和图标显示、快捷键创建、状态反馈(如是否被按下、是否被选中、是否可用)以及自动重复点击等。文本和图标显示setText()设置文本;setIcon()设置图标。

zwcslj的博客 1653

DSP28335学习笔记——McBSP配置为SPI

由于28335硬件外设上只有一个SPI接口,所以当SPI接口不够用时,可以将McBSP配置为SPI接口。 参考28335的数据手册,当DSP为主机时,配置McBSP为SPI所用到的接线如下图所示。 另外总结一些调试过程中的经验。 1.传输数据位数的确定 由RCR1寄存器中的RWDLEN1和XCR1寄存器中的XWDLEN1决定。分别对应着接受和发送的位数,在配置成SPI模式的时候,这

捕虫少年 1万+

从零开始深入理解 AI Agent(完整版)

AI Agent(智能体)是一个能够自主感知环境、做出决策、执行行动并记忆经验的智能系统。特性传统程序AI Agent决策方式固定逻辑(if-else)动态推理(LLM 思考)灵活性需要重新编程自然语言描述即可能力边界明确限定可通过工具扩展学习能力无可通过记忆积累经验│ 感知 │ ───→ │ 推理 │ ───→ │ 行动 │↑ │ ││ ↓ ││ 记忆 │ ←─── │ 反思 │ ←─────────┘感知(Perception)

qq_20096229的博客 756

Qt之QAbstractButton

简述 QAbstractButton类是按钮部件的抽象基类,提供了按钮所共有的功能。 QAbstractButton类实现了一个抽象按钮,并且让它的子类来指定如何处理用户的动作,并指定如何绘制按钮。 QAbstractButton提供了点击和勾选按钮。QRadioButton和QCheckBox类只提供了勾选按钮,QPushBut...

weixin_34366546的博客 817

Halcon手眼标定实战:从九点标定到机械臂精准抓取(附完整代码)

本文详细介绍了Halcon手眼标定技术在实际工业场景中的应用,重点讲解了九点标定法在机械臂精准抓取中的实现步骤和优化技巧。通过对比Eye-to-Hand和Eye-in-Hand两种模式的特点,提供完整的代码示例和误差分析,帮助工程师快速掌握标定技术,提升自动化系统的精度和稳定性。

weixin_29100927的博客 460

【pyqt5学习】——QAbstractButton学习(普通按钮QPushButton、工具按钮QToolButton、单选按钮QRadioButton、复选框按钮QCheckBox)

【pyqt5学习】——QAbstractButton学习(普通按钮QPushButton、工具按钮QToolButton、单选按钮QRadioButton、复选框按钮QCheckBox)

python_AI_fans的博客 6352

Unity3d SECTR 2019 从零开始了解(零)

插件刚下载下来,虽然从Demo里面看了下大致效果,但尝试使用的时候茫无头绪,因此决定一边读文档一边写下笔记。这个笔记会从最基本的名词概述开始一步一步到用法。 除非特别注明,所有内容都不是机翻,而是理解后自己翻译的。 翻译内容: 【零】API REFERENCE MANUAL第一章Documentation Core Concept 【一】 名词概述 CORE CORE是SECTR的核心,一个快速将 Sectors 和 Portals 加入到Unity中的工具,以及完整的源代码,可以构筑独特的功能。 VI

狗蛋在土里瑟瑟发抖 1501

Isaac Lab强化学习实战:用SO-ARM101机械臂实现抓取任务(附B站视频教程)

本文详细介绍了如何使用Isaac Lab强化学习框架,在SO-ARM101机械臂上实现抓取任务的完整实战流程。内容涵盖从环境搭建、奖励函数设计、训练调参到模型部署的各个环节,并分享了Sim-to-Real迁移的关键技巧,旨在帮助开发者高效完成机器人强化学习项目。

weixin_29070721的博客 1103

【Qt 学习笔记】Qt常用控件 | 按钮类控件 | Push Button的使用及说明

QAbstractButton类是Qt中所有按钮类的基类,它提供了一些基本的按钮功能和属性。它是一个抽象类,不能直接实例化,而是通过继承它来创建具体的按钮类。通过继承QAbstractButton类,我们可以创建不同类型的按钮,如QPushButton、QCheckBox、QRadioButton等。这些具体的按钮类会继承并扩展QAbstractButton类的功能,以实现不同类型按钮的特定功能。QPushButton: 提供了一个可以点击的按钮。QRadioButton: 提供了一个单选按钮。

小黄鸭的博客 3220

CTF实战:Flask Session流量解密与内存马路由追踪

本文通过一道CTF实战题目,详细解析了Flask Session流量解密与内存马路由追踪的全过程。文章从破解前端加密密码入手,逐步揭示如何利用泄露的SECRET_KEY解密Session,发现命令执行痕迹,并最终追踪到攻击者植入的内存马路由。内容涵盖Wireshark流量分析、flask-unsign工具使用等实战技巧,为CTF选手和安全研究人员提供了一套完整的Flask应用安全分析思路。

weixin_28309571的博客 306

QAbstractButton类说明文档

使用父级构造抽象按钮。销毁按钮。完善中…​。

qq2745567641的博客 924

AI自动化时代:一人公司的崛起与商业机会

AI技术正在重塑商业格局,催生"一人公司"创业新模式。这种轻资产、高效率的商业模式通过AI自动化运营,让个人创业者能以极低成本挑战传统企业。核心机会包括:1)AI自主公司替代人力密集型业务;2)为企业提供AI转型解决方案;3)利用AI工具实现个人创业。创业者需快速验证创意,聚焦人机协作,把握当前AI发展窗口期。未来,AI赋能的"一人公司"将成为商业新常态,带来更高的专业化和灵活性。抓住AI红利,学会人机协作,是个人创业成功的关键。

这里汇聚了前沿的技术分享与实用的开发技巧,带你探索从创意到企业的技术创业之路。 520

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Qt 常有类 (12)—— QAbstractButton

http://blog.youkuaiyun.com/hmsiwtv/article/details/7564587         QAbstractButton 类是 QPushButton,QCheckBox,QRadioButton 等类的基类,它可以代表按钮、单选纽、复选纽等重要窗口部件。通常不会直接使用这个类,这里主要介绍它的一些属性、信号和槽,介绍时暂时将这些窗口部件统称为钮。

zack8712的专栏 488

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

QAbstractButton类概述

        QAbstractButton 类是 QPushButton,QCheckBox,QRadioButton 等类的基类,它可以代表按钮、单选纽、复选纽等重要窗口部件。通常不会直接使用这个类,这里主要介绍它的一些属性、信号和槽,介绍时暂时将这些窗口部件统称为钮。         属性         checkable 属性代表钮是否支持开关状态,比如按钮一般没有开关状态,而单选...

qq_33263769的博客 368

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Qt学习总结之QAbstractButton类

按钮的基类是QAbstractButton,提供了按钮的通用性功能。QAbstractButton类为抽象类,不能实例化,必须由其他的按钮类继承QAbstractButton类,来实现不同的功能、不同的表现形式。

qq_27726087的博客 637

Qt 常有类 (13)—— QAbstractButton

QAbstractButton 类是 QPushButton,QCheckBox,QRadioButton 等类的基类,它可以代表按钮、单选纽、复选纽等重要窗口部件。通常不会直接使用这个类,这里主要介绍它的一些属性、信号和槽,介绍时暂时将这些窗口部件统称为钮。         属性         checkable 属性代表钮是否支持开关状态,比如按钮一般没有开关状态,而

Suger Mike的博客 512

Qt开发:Qt Widgets模块——QAbstractButton类

QAbstractButton类是按钮小部件的抽象基类,提供按钮通用的功能。这个类实现了一个抽象按钮。 此类的子类处理用户操作,并指定按钮的绘制方式。头文件:#include &lt;QAbstractButton&gt; qmake:QT += widgets继承:QWidget被继承:QCheckBox, QPushButton, QRadioButton, and QToolButton一、...

一世豁然的专栏 2953

按钮控件的基类--- QAbstractButton 类(抽象类)

设置为 true,则不会发送 pressed()和 clicked()信号(经测试,仍会发送这些信号)。 若按钮是可选中的, 当按钮被选中时, 参数 checked 为 true,若按钮未被选中,默认按钮无效,也就是按下 enter 键时,即使关闭自动重复,默认按钮仍会重复发送。按钮是否被选中(即是否处于选中状态),只有可选中按钮才能被选中。描述了按钮的自动排他性,若启用了该属性,则属于同一父部件的可选中按钮的行为,此槽接收来自与点击相关的常见信号,若按钮是可选中的,则切换该按钮的状态。

zxf347085420的博客 669

基本Widgets(03):【类】QAbstractButton[官翻]

文章目录详细说明属性排他自动重复可检查(可选中)图表助记符文本公共函数构造析构属性相关特殊公共槽信号受保护的函数重新实现的受保护的函数 QAbstractButton Class QAbstractButton类是按钮小部件的抽象基类,提供按钮常见的功能。 Header #include < QAbstractButton > qmake QT += widgets Inherits QWidget Inherited By QCheckBox, QPushButt

读书笔记 369

【GUI-pyqt5】QAbstractButton类

QAbstrctButton虚拟类详细介绍

qxj2422640226的博客 1134

QAbstractButton Class

Header:#include < QAbstractButton > qmake:QT += widgets Inherits:QWidget Inherited By:QCheckBox, QPushButton, QRadioButton, and QToolButton

weixin_43446462的博客 841
上一篇: QImage【详细描述】
下一篇: QPicture类
floatbit
博客等级 码龄24年 460粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值