19. 弹簧控件
一、弹簧控件
PySide6 中提供了两种弹簧,分别是水平弹簧和垂直弹簧,但这两种控件对应的类都是 QSpacerItem 类,水平和垂直主要通过宽度和高度(水平弹簧默认的宽度和高度分别是 40, 20;而垂直弹簧的默认宽度和高度分别是 20、40)进行区分。
我们可以在终端中使用 pip 安装 PySide6 模块。默认是从国外的主站上下载,因此,我们可能会遇到网络不好的情况导致下载失败。我们可以在 pip 指令后通过 -i 指定国内镜像源下载。
pip install pyside6 -i https://mirrors.aliyun.com/pypi/simple
国内常用的 pip 下载源列表:
- 阿里云 https://mirrors.aliyun.com/pypi/simple
- 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple
- 中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple
使用 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函数确保主循环安全结束

浙公网安备 33010602011771号