python上位机界面设计_用Python写个上位机学习系列之第一个界面的设计
发布日期:2021-06-25 19:30:11 浏览次数:3 分类:技术文章

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

在学习中经常遇到上位机的问题,想自己做一个上位机玩玩,先使用Python设计一个简单界面。

目标:利用python语言设计一个简单界面

环境:PyQt5库,pycharm软件,QtDesigner软件

思路:利用QtDesignert软件设计界面,并保存,然后通过pyuic5程序将ui文件转换为py文件,最后编写一个main.py文件,运行py文件并显示。

首先要安装PyQt5库文件,里面包含QtDesigner软件,然后配置pycharm软件(具体的配置过程见文末参考资料1),首先用QtDesigner软件设计一个界面,并在其中写一些文字,如图1所示。

图1 QtDesigner设计的界面

将这个文件保存到一个新建文件夹中,这个文件夹会保存pyuic5程序转换的py文件。然后利用pyuic5程序将ui文件转换为.py文件,操作如图2所示。在图2中,我们会发现有一个"test1.ui"文件和"test1.py"文件,"test1.py"文件就是由ui文件转换而成的,我们可以编译看看,但是编译器不会弹出我们用QtDesigner文件做的界面,也不会报错,如果报错,解决方案请参考文末参考资料2,接下来还需要写一个运行代码,这个代码相对简单,就是要规范运行test1.py文件。

图2 将ui文件转换为py文件的操作

新建一个.py文件,在我的文件中命名为“main.py”,然后在文件中敲下如下代码:

import sys

import test1

from PyQt5.QtWidgets import QApplication, QMainWindow

if __name__ == '__main__': #import到其他的python脚本中被调用(模块重用)执行,sys.argv就是运行程序时候获取命令行参数

app = QApplication(sys.argv) #创建了一个QApplication对象,对象名为app,带两个参数sys.argv

MainWindow = QMainWindow() #创建主窗口程序,将QMainWindow()类赋给对象MainWindow

ui = test1.Ui_MainWindow() #将Ui_MainWindows()类赋给对象ui

ui.setupUi(MainWindow) #调用函数setupUi()

MainWindow.show() #显示窗口

sys.exit(app.exec_()) #app.exet_()程序一直循环运行直到主窗口被关闭终止进程

然后再编译“main.py”文件即可看到我们自己制作的界面。如图3所示

图3 运行结果

参考资料:

1.https://blog.csdn.net/px41834/article/details/79383985

2.https://blog.csdn.net/qq_33485434/article/details/80606359

转载地址:https://blog.csdn.net/weixin_39622901/article/details/111483020 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:scala 模式匹配支持正则吗_scala 正则匹配
下一篇:dicom多帧转换_如何提取/查看多帧DICOM文件的所有帧?

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年03月22日 06时17分10秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

java require_java正则中的requireEnd和hitEnd 2019-04-21
400错误java_java代码转化成c#代码 报400错误 2019-04-21
java常见对象_Java 常见对象 02 2019-04-21
spring java配置_Spring Java配置要点 2019-04-21
共享内存 java_java - Java客户端-服务器编程:客户端之间的共享内存 - 堆栈内存溢出... 2019-04-21
java布局管理器空布局_Java图形化界面设计——布局管理器之null布局(空布局)... 2019-04-21
java gas station_LeetCode – 774. Minimize Max Distance to Gas Station 2019-04-21
java项目无法加载到tomcat_eclipse+tomcat添加项目进来无法启动tomcat 2019-04-21
后缀树建立 java_实用算法实现-第 8 篇后缀树和后缀数组 [2 最长公共子串] 2019-04-21
java网络编程期末试题_java网络编程面试题【其中一小部分】 2019-04-21
estore java_estore2 - WEB源码|JSP源码/Java|源代码 - 源码中国 2019-04-21
java如何做表单校验_微信小程序实现表单校验功能 2019-04-21
matlab dwt2(),MATLAB小波变换指令及其功能介绍(超级有用) 2019-04-21
php sequelize,egg.js整合数据库ORM框架Sequelize 2019-04-21
php同时打开2个数据库,thinkphp3.2同时连接两个数据库的简单方法 2019-04-21
centos 开发php扩展,centos 安装php扩展redis 2019-04-21
php+跑buth,php 中函数获取可变参数的方法, 这个语法有点像 golang 语言中的 2019-04-21
cms 单点登录 php,Yii2 中实现单点登录的方法 2019-04-21
oracle自己运行,创建Oracle自动执行Job 2019-04-21
oracle报错00020,oracle启动 ORA-00020: maximum number of processes (%s) exceeded错误 2019-04-21