PyQt5—— Qt Designer 快速入门

Qt Designer 快速入门

Qt Designer 是一个强大、灵活的可视化GUI设计工具,可以帮助我们加快开发PyQt程序的速度。Qt Designer是专门用来制作PyQt程序中UI界面的工具,它生成的UI界面是一个后缀为.ui文件。可以通过命令将.ui文件转换为.py格式的文件。

Qt Designer 符合MVC设计模式,做到了显示和业务逻辑的分离

优点:

  • 使用简单,通过拖曳和点击就可以完成复杂的界面设计,而且还可以随机预览查看效果图
  • 转换Python文件方便。

.ui文件实际上是XML格式的文本文件,为了在PyQt中使用.ui文件,可以通过pyuic5命令将.ui文件转换为.py文件。

Qt Designer 安装的路径为

在这里插入图片描述

新建主窗口

双击designer.exe打开文件。

在这里插入图片描述

选择模板Main Window,创建一个主窗口,保存为firstMainWin.ui

在这里插入图片描述

窗口主要区域介绍

Widget Box:表示为工具箱,其中提供了很多控件,每个控件都有自己的名称,提供不同的功能,比如常用的按钮、单选钮、文本框等。可以直接拖放到主窗口中。在菜单栏中选择窗体 → \rightarrow 预览或者Ctrl+R
在这里插入图片描述

主窗口
在这里插入图片描述

对象查看器,可以查看主窗口中放置的对象列表
在这里插入图片描述

属性编辑器、其中提供了对窗口、控件、布局的属性编辑功能

在这里插入图片描述
信号/槽编辑器,动作编辑器和资源浏览器,可以为控件添加自定义信号和槽函数

在这里插入图片描述

资源浏览器中,可以为控件添加图片等

在这里插入图片描述

查看UI文件

在这里插入图片描述

将.ui文件转换为.py文件

我们可以提供不同的方法进行转化,对简单的方式就是使用IDE自带的方式进行转换。

通过命令行进行转换

在这里插入图片描述

使用命令就是

pyuic5 -o 输出文件名称 转换文件名称

通过脚本转换

import os
import os.path

# UI文件所在的路径
dir = './'

# 列出目录下的所有UI文件
def listUiFile():
    List = []
    files = os.listdir(dir)
    for filename in files:
        if os.path.splitext(filename)[1] == '.ui':
            List.append(filename)
    return List 
def transPyFile(filename):
    return os.path.splitext(filename)[0] + '.py'

def runMain():
    List  = listUiFile()
    for uifile in List:
        pyfile = transPyFile(uifile)
        cmd = 'pyuic5 -o {pyfile} {uifile}'.format(pyfile=pyfile,uifile=uifile)
        os.system(cmd)

if __name__ == '__main__':
    runMain()

双击运行程序就可以得到本地目录下的转换文件

界面与逻辑分离

由于.py文件是由.ui文件编译来的。界面文件的每次编译时都会初始化,所以需要新建一个.py文件调用界面文件,这个新建的.py文件称为逻辑文件,也称为业务文件。界面文件和逻辑文件是两个相对独立的文件,通过上述方法就实现了界面与逻辑的分离。

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from firstMainWin import *

class MyMainWindow(QMainWindow, Ui_MainWindow):
    def __init__(self, parent=None):
        super(MyMainWindow,self).__init__(parent)
        self.setupUi(self)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    myWin = MyMainWindow()
    myWin.show()
    sys.exit(app.exec_())

上面的代码实现了业务逻辑。

  • 7
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值