PyQt5 QToolBar小工具

  • Post category:Python

PyQt5是一个自由软件的跨平台的框架,因此它是非常易于使用的,并且能够在多个平台上同时运行。QToolBar是PyQt5中的一种小工具,它可以帮助我们将常用的操作放置在一起,从而方便我们快速地执行常用操作。接下来对QToolBar的完整使用进行详细讲解,并且提供两条示例说明。

创建QToolBar

以下是创建QToolBar的Python代码以及对应的解释:

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QToolBar


class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.toolbar = QToolBar()
        self.addToolBar(self.toolbar)
        self.setWindowTitle("QToolBar示例程序")


if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = MyWindow()
    window.show()
    sys.exit(app.exec_())

上述代码中,我们首先导入了必要的库。然后我们创建了一个名为MyWindow的主窗口,并在该窗口中创建了一个名为toolbar的QToolBar。接下来我们通过addToolBar方法将该QToolBar添加到主窗口当中。最后我们设置了主窗口的标题并将其显示出来。

向QToolBar中添加操作

以下是向QToolBar中添加操作的Python代码以及对应的解释:

import sys
from PyQt5.QtWidgets import QAction, QApplication, QMainWindow, QToolBar


class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.toolbar = QToolBar()
        self.addToolBar(self.toolbar)

        action1 = QAction("操作1", self)
        action2 = QAction("操作2", self)
        action3 = QAction("操作3", self)

        self.toolbar.addAction(action1)
        self.toolbar.addAction(action2)
        self.toolbar.addSeparator()
        self.toolbar.addAction(action3)

        self.setWindowTitle("QToolBar示例程序")


if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = MyWindow()
    window.show()
    sys.exit(app.exec_())

上述代码中,我们创建了三个操作(action1action2action3),并将它们添加到了QToolBar中。addAction方法用于将操作添加到QToolBar当中。addSeparator方法则可以在QToolBar中添加一个分割线。这样我们就可以通过QToolBar来执行不同的操作。

示例1:在QToolBar中添加工具按钮

import sys
from PyQt5.QtWidgets import QAction, QApplication, QMainWindow, QToolBar


class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.toolbar = QToolBar()
        self.addToolBar(self.toolbar)

        action1 = QAction(self)
        action1.setIcon(QIcon("icon.png"))
        action1.setToolTip("这是操作1")

        action2 = QAction(self)
        action2.setIcon(QIcon("icon2.png"))
        action2.setToolTip("这是操作2")

        self.toolbar.addAction(action1)
        self.toolbar.addAction(action2)

        self.setWindowTitle("QToolBar示例程序")


if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = MyWindow()
    window.show()
    sys.exit(app.exec_())

上述代码创建了两个工具按钮,并将它们添加到了QToolBar当中。每个工具按钮都有一个图标并显示相应的提示信息。我们通过setIcon方法为每个操作按钮设置了不同的图标,通过setToolTip方法为每个操作按钮设置了不同的提示信息。

示例2:在QToolBar中添加文本输入框

import sys
from PyQt5.QtWidgets import QAction, QApplication, QMainWindow, QLineEdit, QToolBar


class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.toolbar = QToolBar()
        self.addToolBar(self.toolbar)

        self.text_edit = QLineEdit(self)
        self.toolbar.addWidget(self.text_edit)

        action1 = QAction(self)
        action1.setText("搜索")
        action1.triggered.connect(self.search)

        self.toolbar.addAction(action1)

        self.setWindowTitle("QToolBar示例程序")

    def search(self):
        query = self.text_edit.text()
        # 进行搜索操作


if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = MyWindow()
    window.show()
    sys.exit(app.exec_())

上述代码中,我们将一个文本输入框添加到了QToolBar当中,并在该文本输入框旁边添加了一个搜索按钮。点击搜索按钮时,将会调用search方法,并将文本输入框中的文本作为参数传递给该方法。在实际生产环境中,这种添加文本输入框的操作非常常见,例如可以添加一个用于搜索的文本框,或者一个用于执行查询的文本框。