PyQt窗口设计之Qt Designer
Qt Designer
- 一、界面介绍
- 二、Qt Designer的使用
- 1、Qt Designer使用
- 1. 工具栏的放置
- 2. 资源的加载
- 3. 使用Qt Designer编译的代码
- 2、 ui文件的转化
- 1. 使用命令行:
- 2. 执行PyUIC程序
- 3. PyCharm设置External Tools (强烈推荐)
- 3、 qrc文件的转化
- 1. 使用命令行
- 2. PyCharm 配置
Qt Designer,即Qt设计师,是一个强大、灵活的可视化GUI设计工具,可以帮助我们加快开发PyQt程序的速度。Qt Designer是专门用来制作PyQt程序中UI界面的工具,它生成的UI界面是一个后缀为.ui的文件。该文件使用起来非常简单,可以通过命令将ui文件转换成.py格式的文件,并被其他Python文件引用;也可以通过专门的工具,如:Eric6等进行手工转换。
一、界面介绍
说明:
- 窗口界面:第一次打开界面如下,左上角的红色框就是之前讲的PyQt预置的窗口样式,一般这里选择Main Window,当有之前的文件时,根据右下角红框的内容选择。
然后就可以像第一张图那样在窗口内放置、布局自己的组件了。 - 工具栏:
工具栏就是一些操作的快捷使用入口,具体解析如下。
- 菜单栏
菜单栏包含所有的处理和设置,虽然很多并不会使用菜单栏去设置,但还是需要说一下其中的几个,文件没啥说的,编辑就是对窗口组件的放置,绑定信号槽等,这里的部分功能就是上面快捷工具的原型,窗体菜单就是布局管理,视图可以设置自己的窗口界面。
- 组件框
组件框是设计程序界面显示不可缺少的部分,在Qt Designer中,组件被按作用分成个几大板块,其中最常用的是布局、空间、按钮、组件容器、输入、显示,组件的放置也是相当简单,把组件拖拽到窗口即可。
- 对象查看器
对象查看器就是我们在窗口放置的所有组件,按层级结构展示,这里还有个作用就是当组件放置的很复杂时,在窗口中很难定位到想要的组件,这时候直接在这里点击相应组件名称,就可以选中。 - 属性编辑器
属性编辑也是相当重要的,每个组件的各种属性,比如:位置、字体、大小、颜色、背景,等等,反正组件细化下来的一切都是这里配置。 - 其他编辑器
这里有三个内容,讲解如下:
信号/槽编辑器:给组件绑定信号,但一般组件的信号都是手动去绑定的,因为这里的信号就是简单的预置,没法实现具体的操作。
动作辑器:编辑菜单栏和工具栏的快捷动作,但一般也是手动写,原因还是具体操作预置代码无法实现。
资源器:绑定在设计时需要的图片等其他资源。这样打包后的程序就不依赖于本地的资源。
二、Qt Designer的使用
1、Qt Designer使用
Qt Designer的使用基本都是拖拽组件,配置布局,修改属性,没啥好讲的,要自己去实际操作,知道不同组件有哪些属性可以配置,有哪些布局适合需要。这里讲一些特殊的操作。
1. 工具栏的放置
直接开启工具栏长这样
下一步只需要在动作编辑器新建动作,然后设置好图标,文字等,直接拖动到工具栏,即可实现工具栏的放置。
效果如下:
2. 资源的加载
直接在资源编辑器,编辑,新建或者打开,注意要设置文件的前缀,方便程序识别文件类型,选择文件,即可在项目文件夹生成对应的qrc文件,然后把qrc文件转化成py文件,就可以在python代码中调用了(需要导入,如 import 财报)
3. 使用Qt Designer编译的代码
最后生成的代码大概长这样,因为它是生成的,所以是个单独的类,这样方便主代码的调用,也方便后期的维护。
为了调用上面生成的ui文件,要自建一个主代码类,不考虑其他操作的情况下,主代码很简单,
直接把下面这段代码放在你们ui代码下面,就可以运行。
class Main_Ui(QMainWindow, Ui_MainWindow):def __init__(self):super().__init__()self.setupUi(self)if __name__ == '__main__':app = QtWidgets.QApplication([])main_ui = Main_Ui()main_ui.show()app.exec_()
这里需要注意的的地方,Main_Ui(QMainWindow, Ui_MainWindow),你得导入QMainWindow,注意你自己的ui类名,虽然一般生成的都是Ui_MainWindow;至于你要绑定其他的操作,只需要在自定义的主函数初始化的地方绑定即可( self.setupUi(self)之后)
2、 ui文件的转化
Designer生成的是ui结尾的文件,那如何使用呢?有三种方法。
1. 使用命令行:
python -m PyQt5.uic.pyuic 12组重点链接跟进.ui -o 12组重点链接跟进.py
这里需要注意的有两点,不然没法转成功。一是你的环境变量已经添加了python的路径;二是操作的时候必须在ui文件所在的文件夹(cd 文件路径跳转)。
2. 执行PyUIC程序
Anaconda自带Prompt运行如下代码:
pyuic5 demo.ui -o demo.py
需要注意的还是操作的时候必须在ui文件所在的文件夹(cd 文件路径跳转)。
3. PyCharm设置External Tools (强烈推荐)
为了PyCharm更方便的使用,需要配置两个,一个是Qt designer,一个是PyUIC,前者直接打开Qt designer,后者把ui文件转换成py文件,方便后续使用。
点击File->Settings,找到Tools选项,点击“+”号,后续配置如图:
配置Qt designer
参数说明:
Program:这里就是你安装PyQt5-tools里面的designer.exe
Work directory:使用变量$FileDir$
配置PyUIC
参数说明:
Program:这里就是你安装的python编译的里面的python.exe
Arguments:D:\Anaconda\Lib\site-packages\PyQt5\uic\pyuic.py $FileName$ -o $FileNameWithoutExtension$.py (自己的路径+后面那段)
Work directory:使用变量$ProjectFileDir$或者$FileDir$,两者的区别在于执行时文件夹是项目所在文件夹还是用户指定的任意文件夹。
设置完成拓展工具后,右键ui文件选择external tools的PyUIC,即可自动生成。
3、 qrc文件的转化
1. 使用命令行
pyrcc5 resource.qrc -o resource_rc.py
2. PyCharm 配置
参数说明:
Program:这里就是你安装的pyrcc5.exe的位置(这个是自带的,不需要自己安装,找到位置就好)
Arguments:$FileName$ -o $FileNameWithoutExtension$.py
Work directory:使用变量$ProjectFileDir$或者$FileDir$,两者的区别在于执行时文件夹是项目所在文件夹还是用户指定的任意文件夹。
设置完成拓展工具后,右键qrc文件选择external tools的qrc tool,即可自动生成。
生成的文件长这样:
学完这一节,你应该已经配置好环境,设计了自己ui界面了吧,持续更新中…
PyQt窗口设计之Qt Designer相关推荐
- distiller的另一个实例正忙于启动_PYQT5学习(02):利用Qt Designer制作第一个窗口程序
目标 利用Qt Designer设计窗口界面 使用PyUIC把Qt Designer生成的UI文件转换为py文件 使用转换生成的py文件 创建项目 启动启动pycharm并创建项目 这一环节在这里就不 ...
- linux qt 自定义控件,编写Qt Designer自定义控件(一)——如何创建并使用Qt自定义控件...
要想在Qt Designer中使用自定义控件,必须要使Qt Designer能够知道我们的自定义控件的存在.有两种方法可以把新自定义控件的信息通知给Qt Designer:"升级(promo ...
- [PyQt]使用Qt Designer设计师完成PyQt界面图标设计
开发环境 Python3.5.3 + PyQt5.6 + PyCharm2017.2 开发环境暂不赘述,打开Qt Designer后,右键空白处添加工具栏 顶栏处 文件 编辑 关于都是通过双击在这里输 ...
- python英文版怎么改成中文版_“PyQt的Qt Designer菜单是中文版的,怎么改成英文的“python的qt designer教程...
python qt designer 怎么多建一个dialog 请说的详细点,那原消?还是只是出外一个窗口,如果出现另外一个窗口,那么这个窗口是 exec()吗?就是弹出窗口不关闭无法点击原有窗口,即 ...
- python界面设计资源库_python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法...
PyQt5 Qt Designer (Qt设计师) PyQt5是对Qt所有类进行封装, Qt能开发的东西, PyQt都能开发. Qt是强大的GUI库之一, 用C++开发, 并且跨平台. PyQt双许可 ...
- python图形界面设计代码_python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方...
PyQt5 Qt Designer (Qt设计师) PyQt5是对Qt所有类进行封装, Qt能开发的东西, PyQt都能开发. Qt是强大的GUI库之一, 用C++开发, 并且跨平台. PyQt双许可 ...
- qtdesigner设计表格_实例9 利用Qt Designer设计一个对话框
在Qt编程中,程序员通常都是使用手动编写Python源代码来进行Qt程序开发,但有些程序员也喜欢使用可视化的方法进行对话框设计,因此,Qt为习惯利用可视化方式进行窗口程序设计的程序员提供了Design ...
- Python界面 PyQT可视化开发(python3+PyQt5+Qt Designer)
前言 以前制作一个Python窗体界面,我都是用GUI窗口视窗设计的模块Tkinter一点一点敲出来的,今天朋友问我有没有Python窗体的设计工具,"用鼠标拖拖"就能完成窗体设计 ...
- QT学习 第一章:基本对话框--利用Qt Designer设计多个UI界面
QT学习 第一章:基本对话框--利用Qt Designer设计多个UI界面 效果截图: 创建上文件夹Designers,使用Designer设计三个UI界面: First.ui Second.ui T ...
- PyQt(Python+Qt)学习随笔:Qt Designer中部件的调色板palette属性和字体font属性设置
一.调色板 在Qt Designer的部件属性中,有个部件调色板(palette)的属性,进入后,如下图所示: 1.调色板palette Qt中提供的调色板palette用于管理控件的外观显示,对应P ...
最新文章
- 一个Java程序员应该掌握的10项技能
- [c/c++] programming之路(28)、结构体存储和内存对齐+枚举类型+typedef+深拷贝和浅拷贝...
- UI framework 处理user 错误输入的逻辑
- Java摩托车汽车轮胎数量,摩托车轮子上的知识,你知道多少?
- html怎么判断字段,javascript怎么判断是否为字符串?
- vs怎么写html5页面,怎么使用vscode写html5
- 垃圾分类逼疯上海人 微信官方终于出手!
- php调用python导出excel_如何使用Django导出Excel代码问题
- 用VC++封装自己的DLL动态链接库
- 用 Alan 和 Neovis.js 实现全新的 Doctor.ai
- es6 嵌套数组循环_[js]从 ES3 到 ES6 教你如何数组去重
- swash编译安装教程
- 【渝粤题库】陕西师范大学180104市场调查与预测Ⅰ作业(高起专)
- CentOS安装 xmms
- 用Unity开发2D消除类游戏的素材资源精选
- 土味网红崛起的背后,是不为人知的心酸
- 如何降低Epson XP打印机固件(修复墨水未识别错误)
- 12V-5V-3.3V电源转换芯片
- 行业分析| 智慧消防对讲
- [转载]matlab产生方波脉冲和周期性方波信号