📜  PyQt5 QToolButton(1)

📅  最后修改于: 2023-12-03 15:18:49.886000             🧑  作者: Mango

PyQt5 QToolButton介绍

PyQt5是一个用于构建GUI应用程序的Python模块,而QToolButton是PyQt5中的一个关键控件之一。QToolButton是一个小型按钮,通常用于工具栏或工具栏中的下拉菜单按钮。在本文中,我们将学习如何使用PyQt5 QToolButton控件,包括如何使用它的主要方法和信号/槽。

安装PyQt5

在学习QToolButton之前,需要先安装PyQt5。可以在旧版的Python 2.x和新版的3.x中安装PyQt5。使用以下代码行可安装PyQt5:

pip install PyQt5
创建QToolButton控件

要创建QToolButton控件,请使用以下代码行:

from PyQt5.QtWidgets import QToolButton, QApplication
import sys

app = QApplication(sys.argv)
tool_button = QToolButton()
tool_button.setText("Click me!")
tool_button.show()
sys.exit(app.exec())

代码的第一行导入QToolButton和QApplication类。QApplication类管理GUI应用程序的控件的创建和事件处理。第三行创建一个QApplication对象。第四行创建一个QToolButton对象。第五行将按钮的文本设置为“Click me!”,通常使用setText()方法。第六行显示了按钮,最后一行关闭应用程序。

设置QToolButton图片

可以将图像设置为QToolButton控件。请使用以下代码行:

tool_button.setIcon(QIcon("image.png"))

此代码一次设置一个图标。该图像必须在应用程序目录中。

tool_button.setIconSize(QSize(50, 50))

此代码更改图标的大小。setSize()函数设置大小,以像素为单位。

关联信号和槽

可以使QToolButton创建将被Qt工具栏和菜单使用的下拉菜单。在下拉列表中选择一个操作将与相应的槽函数相关联。以下代码将QToolButton连接到一个槽函数:

tool_button.clicked.connect(on_click)

当QToolButton单击时会调用on_click()。

def on_click():
    print("Button clicked")

此代码显示一个来自单击函数的简单消息。

QAction实例

QMenu需要QAction实例,用于在工具栏和下拉列表中使用命令。以下代码创建了一个简单的QAction示例:

from PyQt5.QtWidgets import QAction
my_action = QAction('My Action', self)
my_action.triggered.connect(self.do_something)

触发了一个槽函数do_something()。

def do_something(self):
   print('My Action triggered')

为了使Action能被正常使用,它需要被添加到菜单列表中,如下所示:

file_menu = QMenu()
file_menu.addAction(my_action)
总结

QToolButton是一个灵活的控件,在PyQt5中有很多方法来自定义它的外观和行为。在本文中,我们了解了如何创建,设置图像,以及关联信号和槽等QToolButton控件的主要功能。此外,还介绍了QAction,用来在Qt工具栏和菜单中使用命令。