PyQt5 基本小工具

  • Post category:Python

PyQt5 基本小工具使用攻略

PyQt5 是 Python 软件基金会的一个软件包,它可以让我们使用 Python 编写 GUI 应用程序。在 PyQt5 中,有一些基本小工具可以让我们快速创建 GUI 应用程序。本文将详细讲解 PyQt5 的基本小工具的使用方法,并提供两个示例。

安装 PyQt5

使用 pip 安装 PyQt5:

pip install PyQt5

基本小工具

在 PyQt5 中,有一些基本小工具。下面是一些常用的小工具:

  • QLabel:用于显示文本或图像
  • QLineEdit:用于单行输入
  • QPushButton:用于按钮
  • QCheckBox:用于复选框
  • QRadioButton:用于单选框

示例 1:创建一个按钮并绑定事件

下面的代码将创建一个窗口,并在窗口中创建一个按钮。当单击按钮时,将显示一个对话框。

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QMessageBox

class Example(QWidget):

    def __init__(self):
        super().__init__()

        self.initUI()


    def initUI(self):

        btn = QPushButton('Show dialog', self)
        btn.move(20, 20)

        btn.clicked.connect(self.showDialog)

        self.setGeometry(300, 300, 290, 150)
        self.setWindowTitle('Message box')
        self.show()


    def showDialog(self):

        msgBox = QMessageBox()
        msgBox.setText("The document has been modified.")
        msgBox.setWindowTitle("My Application")
        msgBox.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
        msgBox.setDefaultButton(QMessageBox.Ok)

        if msgBox.exec_() == QMessageBox.Ok:
            print('OK clicked.')
        else:
            print("Cancel clicked.")


if __name__ == '__main__':

    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

在上面的代码中,我们创建了一个 QPushButton,并绑定了单击事件 showDialogshowDialog 方法创建了一个 QMessageBox,并在其中显示了文本。

示例 2:创建复选框和单选框

下面的代码将创建一个窗口,并在窗口中创建了一个复选框和两个单选框。

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QCheckBox, QRadioButton, QVBoxLayout

class Example(QWidget):

    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):      

        cb = QCheckBox('Show title', self)
        cb.move(20, 20)
        cb.toggle()
        cb.stateChanged.connect(self.changeTitle)

        rb1 = QRadioButton('Option 1', self)
        rb1.move(20, 50)

        rb2 = QRadioButton('Option 2', self)
        rb2.move(20, 80)

        vbox = QVBoxLayout()
        vbox.addWidget(rb1)
        vbox.addWidget(rb2)
        vbox.addStretch(1)

        self.setLayout(vbox)

        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('Check and Radio buttons')
        self.show()


    def changeTitle(self, state):

        if state ==  Qt.Checked:
            self.setWindowTitle('Checked')
        else:
            self.setWindowTitle('Unchecked')


if __name__ == '__main__':

    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

在上面的代码中,我们创建了一个 QCheckBox 和两个 QRadioButton。当单击复选框时,将调用 changeTitle 方法来更改窗口的标题。当单击单选框时,将在控制台中输出所选的选项。

以上便是使用 PyQt5 基本小工具的详细攻略。