【PySide6】3. Designer 的用法

QT Designer 的介绍

QT Designer,即 Qt 设计师,是一个可视化的 GUI 设计工具,是专门用来制作 PySide6 程序中 UI 界面的工具,生成的 UI 界面是一个后缀为 .ui 的文件。我们可以使用之前配置的 uic 工具,将其转换为 .py 文件,并在 python 项目中引用。

新建主窗口 (Main Window)

通过之前的配置,鼠标右键 -> 外部工具,打开 Qt Designer(也可以通过 Pycharm 上方菜单栏 工具 -> 外部工具,打开),会自动弹出新建窗体的对话框,对话框如下图:
在这里插入图片描述

选择 Main Window,点击新建,即可创建一个窗口。
整个 designer 的布局如下:
在这里插入图片描述

  1. 窗口部件盒(工具箱),最右边的窗口,它提供了很多控件,用于提供不同的功能,如:按钮、文本框、列表等等。它可以直接拖拽到主窗口中。
  2. 中间的标题为 Main Window(标题可修改) 的就是我们创建的主窗口
  3. 对象检查器,可以用来查看主窗口放置的对象列表
  4. 属性编辑器,它主要提供了对窗口、控件、布局的属性设置编辑。主窗口的标题可以通过这里来修改。
  5. 信号/槽编辑器、用来编辑控件的信号和槽函数,也可以为控件添加自定义的信号与槽函数
  6. 动作编辑器,管理和配置菜单栏、工具栏和上下文菜单中的动作。通过动作编辑器,可以添加、修改和删除各种动作,并为它们设置相应的属性和快捷键
  7. 资源浏览器可以为控件添加图片等。

选中 Main Window,在主窗口中,我们添加几个菜单,然后从右边窗口部件盒中拖入一个 按钮(Push Button) 和 文本框(Line Edit)。然后创建,ctrl + s 快捷键保存,文件名 MainWin.ui。
注意:上面菜单栏可以直接输入中文,但是子菜单栏不能直接输出中文,输入法锁死英文了,这里可以先随便输入一个英文,然后编辑属性编辑器的 text 一栏,这里输入中文即可,text 表示控件文本。
在这里插入图片描述

保存后,可以在 ui 目录下,看到保存的文件。鼠标选中这个文件,右键 -> 外部工具 -> uic,然后就在 uipy 目录下生成了一个 .py 的文件,如下图:
在这里插入图片描述
可以查看生成的代码,它里面有一些窗口控件的用法,我们可以通过查看它,来学习一些常用的窗口控件方法。
注意:每次窗口发生改变,都需要重新编译一次 .ui 文件

显示新建的主窗口

为了使界面与逻辑分离,可以新建一个类,并继承自界面文件的主窗口类即可。代码如下:

# -*- coding: utf-8 -*-
import sys
from PySide6.QtWidgets import QApplication, QMainWindow
from uipy.MainWin_ui import Ui_MainWindow

class MyWindow(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = MyWindow()
    window.show()
    app.exec()

运行代码,即可显示创建的窗口。

布局管理

布局

designer 提供了 4 中布局方式:

  1. Vertical Layout: 垂直布局,控件默认安装从上到下的顺序进行纵向添加
  2. Horizontal Layout: 水平布局,控件默认安装从左到右的顺序进行横向添加
  3. Grid Layout: 网格布局,会将控件合理的划分为若干行列
  4. Form Layout: 表单布局,控件以两列的形式布局在其中
    在这里插入图片描述

这里可以使用刚刚创建的窗口来试一试这些布局,网格布局和表单布局需要多拖入几个控件,这样才能看到效果。
双击 .ui 文件,会自动打开 designer,并显示这个窗口,鼠标选中里面的控件 -> 鼠标右键 -> 布局,选择自己想要尝试的布局,我这里选择的是一个水平布局,效果如下:
在这里插入图片描述
Ctrl + s 保存,记得重新编译 .ui 文件,然后运行程序即可。(别忘记看一看编译后的 .py 文件,能学到不少的控件操作方式)

容器

所谓容器,是指能够容纳子控件的控件。使用这个控件的目的就是将容器控件中的控件归为一类,与其他控件做区分。

以水平布局为例,从designer左侧 containers 栏中拖入一个Frame控件,然后在这个控件中放入 Label 控件、LineEdit 控件、 Button 控件,然后对其进行重命名。
选中 Frame 控件,鼠标右键 -> 布局 -> 水平布局。结果如下所示:
容器控件

  • 18
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值