moo

V1

2022/10/27阅读:87主题:WeChat-Format

PySide6(Qt for Python) 启航篇

需求

在安装PySide6之前,必须先安装以下软件::

  • Python 3.7+,
  • 建议使用, 像conda 、 venv 或者 virtualenv来构建虚拟环境

安装

  • 创建并激活一个环境

    conda create -n env_pyside6 python=3.7 
    conda activate env_pyside6
  • 安装:

    现在您已经准备好通过pip安装PySide6. 在终端上运行以下命令:

    pip install pyside6==6.0
  • 测试安装结果

通过运行以下Python结构来测试你的设置,以打印版本信息:

import PySide6.QtCore

# Prints PySide6 version
print(PySide6.__version__)

# Prints the Qt version used to compile PySide6
print(PySide6.QtCore.__version__)

创建一个简单的应用

Pyside6的配置已经完成,接下来可以通过开发一个打印“Hello World”的简单应用程序来进一步了解它。以下说明将帮助您完成开发过程:

  • 导入依赖库

创建一个名为 hello_world.py的文件,增加以下import语句.:

import sys
import random
from PySide6 import QtCore, QtWidgets, QtGui

PySide6 提供了对Qt api的访问。在本例中,导入的有QtCore、QtWidgets和QtGui模块。

  • Main Class

定义名为 MyWidget的类, 继承QWidget并且包含 QPushButton 和 QLabel.:

class MyWidget(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()

        self.hello = ["Hallo Welt""Hei maailma""Hola Mundo""Привет мир"]

        self.button = QtWidgets.QPushButton("Click me!")
        self.text = QtWidgets.QLabel("Hello World",
                                     alignment=QtCore.Qt.AlignCenter)

        self.layout = QtWidgets.QVBoxLayout(self)
        self.layout.addWidget(self.text)
        self.layout.addWidget(self.button)

        self.button.clicked.connect(self.magic)

    @QtCore.Slot()
    def magic(self):
        self.text.setText(random.choice(self.hello))

MyWidget类包含一个magic成员函数,它从hello列表中随机选择一个项目。当您单击按钮时,magic函数则会被调用。

  • 运行应用

添加一个主函数来实例化MyWidget并显示它:

if __name__ == "__main__":
    app = QtWidgets.QApplication([])

    widget = MyWidget()
    widget.resize(800, 600)
    widget.show()

    sys.exit(app.exec())

编写以下命令运行您的示例:

python hello_world.py.

试着点击底部的按钮,看看你收到的是什么信息。

img
img

分类:

后端

标签:

Python

作者介绍

moo
V1