PyQt5 QCommandLinkButton – 获取动作列表

针对您提出的问题,“PyQt5 QCommandLinkButton-获取动作列表”的完整使用攻略,下面就逐步展开:

1. 简介

PyQt5中的QCommandLinkButton类是一种命令按钮,它具有高亮的特点。QCommandLinkButton类扩展了QPushButton类,使其能够容易地创建符合Microsoft Windows用户界面指南的命令按钮。该类支持两种大小:普通和小型。它的构造函数是:

class PyQt5.QtWidgets.QCommandLinkButton(text: str = '', parent: PyQt5.QtWidgets.QWidget = None)

该类提供了获取动作列表的函数,可以方便地获取当前QCommandLinkButton上绑定的所有动作。

2. 函数说明

该类提供了两个函数获取动作列表:

2.1 actions()

该函数是继承于QWidget类的函数,用于获取当前QCommandLinkButton上绑定的所有动作。该函数的返回值为QList类型的指针,即所有动作的列表。

def actions(self) -> typing.List[PyQt5.QtWidgets.QAction]:
    '''Return type list[QAction]'''

2.2 actionsRemoved()

该信号是在QCommandLinkButton上的动作(通过setActions()设置)被移除时发出的信号。该信号带有一个QList类型的指针,其中包含了被移除的动作列表。

actionsRemoved = pyqtSignal(list)  # 信号:当动作列表发生变化

3. 综合示例

下面提供两个简单的示例,演示如何使用QCommandLinkButton的actions()函数:

3.1 示例一:

该示例展示了如何创建一个QCommandLinkButton,将一系列QAction绑定到按钮上,并获取所有动作列表。

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QCommandLinkButton, QAction


class Demo(QWidget):
    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):

        # 创建QCommandLinkButton按钮
        button = QCommandLinkButton('动作列表', self)
        button.move(50, 50)

        # 创建动作
        action1 = QAction('动作1', self)
        action2 = QAction('动作2', self)
        action3 = QAction('动作3', self)

        # 将动作绑定到按钮上
        button.setActions([action1, action2, action3])

        # 获取所有动作列表
        actions_list = button.actions()
        print('所有动作列表:', [a.text() for a in actions_list])

        self.setGeometry(300, 300, 350, 250)
        self.setWindowTitle('QCommandLinkButton-获取动作列表')
        self.show()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    demo = Demo()
    sys.exit(app.exec_())

该示例创建了一个QCommandLinkButton按钮,并将三个QAction依次绑定到按钮上,最后使用actions()函数获取所有动作列表并打印输出结果。运行后,窗口中会出现一个名为“动作列表”的按钮,点击后会出现三个子选项,控制台中会输出所有动作的文本信息,即:

所有动作列表: ['动作1', '动作2', '动作3']

3.2 示例二:

该示例展示了如何创建一个QCommandLinkButton,然后通过连接actionsRemoved信号来监听动作列表的变化。

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QCommandLinkButton, QAction


class Demo(QWidget):
    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):

        # 创建QCommandLinkButton按钮
        button = QCommandLinkButton('测试', self)
        button.move(50, 50)

        # 创建动作
        action1 = QAction('动作1', self)
        action2 = QAction('动作2', self)
        action3 = QAction('动作3', self)

        # 将动作绑定到按钮上
        button.setActions([action1, action2, action3])

        # 监听动作列表的变化
        button.actionsRemoved.connect(self.actions_removed)

        self.setGeometry(300, 300, 350, 250)
        self.setWindowTitle('QCommandLinkButton-获取动作列表')
        self.show()

    def actions_removed(self, actions_list):
        print('所有动作被删除:', [a.text() for a in actions_list])


if __name__ == '__main__':
    app = QApplication(sys.argv)
    demo = Demo()
    sys.exit(app.exec_())

该示例创建了一个QCommandLinkButton按钮,并将三个QAction依次绑定到按钮上,然后连接了该按钮的actionsRemoved信号和slots函数actions_removed()。当执行removeAction()方法来移除一个动作时,程序会触发该按钮的actionsRemoved信号,并且会传递一个包含被移除动作的QList类型的指针。此处重载的actions_removed()函数会接收该指针,并打印控制台输出所有被移除的动作的文本信息。即使演示的是动作被删除的情况,但是该方式同样适用于动作添加的情况,只需要在相应的slots函数中替换为动作添加的逻辑即可。运行后,窗口中会出现一个名为“测试”的按钮,点击后会出现三个子选项。现在,我们再次点击按钮,在弹出的菜单中选择任何一个选项进行删除,这时程序会输出被删除的动作文本信息,类似于:

所有动作被删除: ['动作1']

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PyQt5 QCommandLinkButton – 获取动作列表 - Python技术站

(0)
上一篇 2023年5月12日
下一篇 2023年5月12日

相关文章

  • PyQt5 QDateEdit – 获取用户可以输入的最大日期

    PyQt5是一个Python绑定的Qt库,其中有一个QDateEdit控件可以让用户选择日期。本篇攻略将详细介绍如何使用PyQt5 QDateEdit去获取用户可以输入的最大日期。 步骤一:导入PyQt5和datetime库 为了使用PyQt5和datetime库,我们需要导入它们: from PyQt5.QtWidgets import QApplicat…

    python 2023年5月12日
    00
  • PyQt5 QListWidget – 设置自动滚动边距

    让我们来看一下PyQt5中QListWidget控件的自动滚动边距设置。 一、QListWidget简介 QListWidget是PyQt5中的一个控件,它提供了一种可以在GUI中展示一组列表项的方式。每个列表项可以包含文本、图像和任意QWidget。 二、设置自动滚动边距 在某些情况下,QListWidget中的项可能在添加、删除或滚动时会出现边距问题,这…

    python 2023年5月13日
    00
  • PyQt5 QSpinBox – 获取字体的最小左方位

    PyQt5是Python语言中常用的GUI编程框架之一,QSpinBox控件是其中一个常用的部件,用于对数值进行输入和显示。在QSpinBox中,我们可以通过setFont方法来设置控件中文字的字体,通过font方法可以获取控件中文字的字体信息,包括最小左方位的值。下面是PyQt5 QSpinBox-获取字体的最小左方位的完整使用攻略。 获取QSpinBox…

    python 2023年5月12日
    00
  • PyQt5 QSpinBox – 为整个文本设置字体

    当我们在使用 PyQt5 编写 GUI 应用程序时,如果涉及到数字调节操作时,一个方便的组件就是 QSpinBox(旋转框)。QSpinBox 非常灵活且易于使用,可以很方便地进行操作。在本篇攻略中,我们将详细讲解如何使用 QSpinBox 将整个文本(数字)设置为指定的字体,通过两个示例演示具体用法。 导入依赖 在使用 QSpinBox 之前,我们需要先导…

    python 2023年5月12日
    00
  • PyQt5 QDateTimeEdit – 仅当时间发生变化时发出信号

    PyQt5是Python语言背景下的GUI编程框架,而QDateTimeEdit则是其提供的一个日期时间选择器控件。本次回答将详细讲解如何使用PyQt5中的QDateTimeEdit控件,仅在时间发生变化时才发出信号。 1. QDateTimeEdit简介 QDateTimeEdit是PyQt5中提供的一个控件类,可用于选择日期和时间。它继承自QAbstra…

    python 2023年5月12日
    00
  • PyQt5 QSpinBox – 设置下线

    下面是关于Python PyQt5 QSpinBox设置下限的完整使用攻略。 设置QSpinBox下限 PyQt5中的QSpinBox是一种用于数字输入的控件。它提供了一个包含递增和递减按钮的小部件,以便在指定的范围内更改数字。 对于QSpinBox来说,下限指的是可输入的最小值。我们可以使用setMinimum函数来设置QSpinBox的下限。 代码示例1…

    python 2023年5月12日
    00
  • PyQt5 主要类

    下面是关于Python的PyQt5主要类的完整使用攻略。 PyQt5 主要类概述 PyQt5是一个基于Python的GUI编程工具,其主要类包括: QApplication:应用程序 Qwidget:窗口或控件 QPushButton:按钮 QMenu:弹出菜单 QAction:在菜单、工具栏或自定义快捷键中可用的抽象用户操作 QLabel:文本或图像标签 …

    python 2023年5月12日
    00
  • PyQt5 – 鼠标悬停时的中间复选框背景

    当我们用PyQt5编写GUI应用程序时,我们可能需要为复选框控件添加背景颜色来提高可读性和外观。本文将介绍如何利用PyQt5并处置复选框背景色,以在鼠标悬停时改变背景颜色。 1. PyQt5复选框示例 要使用PyQt5创建复选框,我们需要使用QCheckBox类。QCheckBox向我们提供了一个可以选择的框(即复选框),并且可以随时检查和取消检查框。 1.…

    python 2023年5月10日
    00
合作推广
合作推广
分享本页
返回顶部