博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VSCode + PYQT5 + QtDesigner 环境搭建和测试
阅读量:6462 次
发布时间:2019-06-23

本文共 1890 字,大约阅读时间需要 6 分钟。

目的:编写Python桌面应用程序。

备注:也可以选择VS2017+QtDesigner ,但更喜欢VSCode 

 

第1步:安装PyQt5和PyQt5-tools

pip3 install -i https://mirrors.aliyun.com/pypi/simple/ PyQt5

pip3 install -i https://mirrors.aliyun.com/pypi/simple/ PyQt5-tools

 

第2步:找到QtDesigner安装路径

一般会自动安装在python安装目录中,如果安装了Anaconda3,则将会在如下Anaconda3路径中找到:

E:\Soft_dp\Anaconda3\Lib\site-packages\pyqt5_tools

将该文件夹中designer.exe生成桌面快捷方式,方便日后制作.ui文件。

 

第3步:打开designer.exe,并绘制你想要的UI界面,如下图所示:

 

绘制完后,起个名字,保存到你准备制作该项目的文件夹中,比如:welcome.ui

 

第4步:用VSCode转化.ui文件为.py文件

(1)打开VSCode,打开welcome.ui刚才存放的那个工程文件夹。

(2)在welcome.ui上右键选择如下图红色圈内操作。(该选项需要VSCode提前安装PYQT Integration扩展)

 

 点击后,会自动生成一个叫:UI_welcome.py的文件,里面就是刚才绘制界面的UI类。

 

第5步:新建一个.py文件,用于启动程序,并调用刚才制作的UI类:

1 import sys 2 from PyQt5 import QtCore, QtGui, QtWidgets 3 from PyQt5.QtCore import * 4 from PyQt5.QtWidgets import QFileDialog, QMessageBox, QDockWidget, QListWidget 5 from PyQt5.QtGui import * 6  7 from Ui_welcome import Ui_MainWindow  #导入创建的GUI类 8  9 #自己建一个mywindows类,mywindow是自己的类名。QtWidgets.QMainWindow:继承该类方法10 class mywindow(QtWidgets.QMainWindow, Ui_MainWindow):11     #__init__:析构函数,也就是类被创建后就会预先加载的项目。12     # 马上运行,这个方法可以用来对你的对象做一些你希望的初始化。13     def __init__(self):14         #这里需要重载一下mywindow,同时也包含了QtWidgets.QMainWindow的预加载项。15         super(mywindow, self).__init__()16         self.setupUi(self)17 18 19 if __name__ == '__main__': #如果整个程序是主程序20      # QApplication相当于main函数,也就是整个程序(很多文件)的主入口函数。21      # 对于GUI程序必须至少有一个这样的实例来让程序运行。22     app = QtWidgets.QApplication(sys.argv)23     #生成 mywindow 类的实例。24     window = mywindow()25     #有了实例,就得让它显示,show()是QWidget的方法,用于显示窗口。26     window.show()27     # 调用sys库的exit退出方法,条件是app.exec_(),也就是整个窗口关闭。28     # 有时候退出程序后,sys.exit(app.exec_())会报错,改用app.exec_()就没事29     # https://stackoverflow.com/questions/25719524/difference-between-sys-exitapp-exec-and-app-exec30     sys.exit(app.exec_())

 

然后,直接按F5运行该文件,就会弹出刚才绘制的窗口:

 

转载于:https://www.cnblogs.com/Edison25/p/9815641.html

你可能感兴趣的文章
jsp中java向js传值_jsp想js,action传值
查看>>
opatch无法定位java_Java (1.6) could not be located. OPatch cannot proceed! — oracle-tech
查看>>
魏永红java课后答案_基于J2ME技术的手机信息查询系统的设计与实现
查看>>
java有交互式_Java 9 尝鲜之交互式编程环境
查看>>
galera mysql docker话_bug排查之空想导致的祸之MariaDB Galera Cluster的docker镜像构建中的遇到的坑爹事...
查看>>
php i=i 怎么实现,ThinkPHP的I方法使用详解
查看>>
java 对输入的字符串处理方法,JavaScript中对字符串操作方法总结--Java免费学习网...
查看>>
java 猫 游戏,crazycat 围住神经猫-小游戏-Java源码 联合开发网 - pudn.com
查看>>
php等差数列,【教案】高中数学-《等差数列》详案展示
查看>>
php脚手架,thinkphp集成前端脚手架Vue-cli的教程图解
查看>>
php多维数组算法,PHP多维数组算法?
查看>>
flash as3与后台php交互用户注册例子,Flash AS3与后台通讯 PHP版
查看>>
php对大小写敏感,PHP大小写敏感规则
查看>>
java pkcs10,话说 类加载过程 第一篇
查看>>
matlab中如何使用help,MATLAB中如何使用help?怎样看matlab的help
查看>>
matlab的函数的代码,10 Matlab 函数与代码风格
查看>>
php日期语言,Php多语言日期:howto?
查看>>
php前台ajax商品遍历,jquery ajax加载数据前台渲染方式 不用for遍历的方法
查看>>
php openapi设计,OpenApi开放平台架构实践
查看>>
java 基本程序,基础 JAVA程序
查看>>