PySide6控件教程中的一些约定

在本教程中,我们将介绍一些在PySide6中使用控件时的常用代码和内容约定,以帮助您编写易于理解、易于维护和高质量的GUI应用程序。

代码约定

import sys
from PySide6.QtCore import Slot
from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QStyleFactory

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):

        # 设置窗口标题
        self.setWindowTitle("QPushButton 示例")
        # 创建一个 QPushButton对象
        self.button = QPushButton("点我", self)
        # 将按钮移动到30,30处
        self.button.move(30, 30)
        # 将按钮的点击信号连接到槽函数
        self.button.clicked.connect(self.buttonClicked)

    @Slot()# 使用装饰器
    def buttonClicked(self):
        print("QPushButton 被点击了")


if __name__ == '__main__':
    app = QApplication(sys.argv)
    app.setStyle(QStyleFactory.create("Fusion")) #fusion风格
    window = MainWindow()
    window.show()
    sys.exit(app.exec())

该教程的所有代码都将以该模板进行编写,其中:

  • 2-3行为例,PySide6模块用以下方式进行导入:

    from PySide6.QtWidgets import QPushButton

    不使用以下方式:

    from PySide6 import QtWidgets
    from PySide6.QtWidgets import *

    这样能清楚的知道示例中使用了哪些组件;

  • 10行为例,初始化窗口、布局、创建小部件(控件)、信号与槽函数连接的代码都放入iniUI()方法中;
  • 21行为例,所有自定义的槽函数都使用@Slot()装饰器;
  • 28行为例,以Fusion风格运行;

内容约定

PySide6小部件几乎都是从基类继承而来,由于种类繁多,内容中不会去详细介绍它们;

QPushButton小部件为例:

QPushButton
    ||
    QAbstractButton
        ||
        QWidget
            ||
            QObject

QPushButton继承自QAbstracButtonQAbstractButton继承自QWidgetQWidget继承自QObject

内容以呈现QPushButton的用法为主,不会去对QAbstractButton进行详细说明;

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/pyside6-widgets/agreement.html

分类: 计算机技术
推荐阅读:
Go语言获取命令行参数 本文将在Go语言中使用标准库 os 获取命令行参数;Go语言的 os 库中有一个 Args 属性,可通过它读取程序运行时的命令行参数;
Rust toml::Table详细用法 在Rust中,toml::Table是一个代表TOML表(table)的结构体,可以使用它来访问和操作TOML格式的数据。toml::Table结构体可以看作是一个HashMap,它将TOML表的键和值映射到一个哈希表中。TOML表是TOML格式数据的核心,它表示一组键值对,其中每个键都是一个字符串,对应一个值。
Go语言中预定义常量iota的用法 iota可以被认为是一个可被编译器修改的常量,在每个const关键字出现时被重置为0,在下一个const出现之前,每出现一次iota,其所代表的数字会自增1.
cannot use 1 (type int) as type bool in assignment错误的解决方法 在go语言中布尔类型不能接受其他类型的赋值,不支持自动或强制的类型转换。
Rust解析TOML,结构体序列化和反序列化 在Rust中,可以使用标准库中的toml模块来解析和生成TOML格式的数据;serde与toml模块集成,可以将TOML字符串解析为任意Rust结构体,或将rust结构体序列化为TOML格式的字符串。
Golang读取INI配置文件到结构体 本文将介绍Golang使用github.com/go-ini/ini包读取ini配置文件到结构体的方法。