19. 弹簧控件

一、弹簧控件

  PySide6 中提供了两种弹簧,分别是水平弹簧和垂直弹簧,但这两种控件对应的类都是 QSpacerItem 类,水平和垂直主要通过宽度和高度(水平弹簧默认的宽度和高度分别是 40, 20;而垂直弹簧的默认宽度和高度分别是 20、40)进行区分。

  我们可以在终端中使用 pip 安装 PySide6 模块。默认是从国外的主站上下载,因此,我们可能会遇到网络不好的情况导致下载失败。我们可以在 pip 指令后通过 -i 指定国内镜像源下载

pip install pyside6 -i https://mirrors.aliyun.com/pypi/simple

  国内常用的 pip 下载源列表:

  使用 QSpacerItem 类创建对象如下:

QSpacerItem(width:int, height:int, hData:QSizePolicy.Policy=QSizePolicy.Policy.Minimum, vData:QSizePolicy.Policy=QSizePolicy.Policy.Minimum)

  QSpacerItem 类的常用方法如下:

# 改变弹簧的宽度和高度
changeSize(width:int, height:int, hData:QSizePolicy.Policy=QSizePolicy.Policy.Minimum, vData:QSizePolicy.Policy=QSizePolicy.Policy.Minimum) -> None

  QSpacerItem 弹簧主要用于布局管理器中,用来使布局管理器中的控件更加合理。

  我们新建一个 ui.py 文件,用来存放 UI 相关的代码。

from PySide6.QtWidgets import QWidget
from PySide6.QtWidgets import QPushButton
from PySide6.QtWidgets import QHBoxLayout, QSpacerItem

class MyUi:
    def setupUi(self, window:QWidget):
        window.resize(700, 500)                                                 # 1.设置窗口对象大小

        layout = QHBoxLayout(window)                                            # 2.创建水平局部控件

        button_1 = QPushButton("按钮1", window)                                  # 3.创建按钮控件,并添加到布局中
        layout.addWidget(button_1)
    
        spacerItem = QSpacerItem(300, 20)                                       # 4.创建弹簧,并添加到水平布局中
        layout.addSpacerItem(spacerItem)

        button_2 = QPushButton("按钮2", window)                                  # 5.创建按钮控件,并添加到布局中
        layout.addWidget(button_2)

  我们新建一个 widget.py 文件,用来存放业务逻辑相关的代码。

import sys

from PySide6.QtWidgets import QApplication, QWidget

from ui import MyUi

class MyWidget(QWidget):
    def __init__(self):
        super().__init__()                                                      # 1.调用父类Qwidget类的__init__()方法
      
        self.__ui = MyUi()
        self.__ui.setupUi(self)                                                 # 2.初始化页面

if __name__ == "__main__":
    app = QApplication(sys.argv)                                                # 1.创建一个QApplication类的实例
    window = MyWidget()                                                         # 2.创建一个窗口
    window.show()                                                               # 3.显示窗口
    sys.exit(app.exec())                                                        # 4.进入程序的主循环,并通过exit函数确保主循环安全结束
posted @ 2025-01-07 23:39  星光映梦  阅读(173)  评论(0)    收藏  举报