Python 开发图形界面程序

14 篇文章 0 订阅
订阅专栏
本文介绍了使用Python开发图形界面时,Tkinter与PySide2/PySide6的优缺点,并指导了PySide2的安装过程,包括使用pyside2-designer创建UI和通过PyInstaller打包成可执行文件的方法。同时,也解答了关于第三方库使用、命令行输出和隐藏CMD窗口的问题。
摘要由CSDN通过智能技术生成

用 Python 语言开发图形界面的程序,有2种选择:

  • Tkinter

    基于Tk的Python库,这是Python官方采用的标准库,优点是作为Python标准库、稳定、发布程序较小,缺点是控件相对较少。

  • PySide2/PySide6

    基于Qt 的Python库,优点是控件比较丰富、跨平台体验好、文档完善、用户多。

    缺点是 库比较大,发布出来的程序比较大。

如果是开发小工具,界面比较简单,可以采用Tkinter。
如果是发布功能比较多的正式产品,采用基于Qt的 PySide2/PySide6 。

本文介绍的是使用 PySide2 开发Python程序的图形界面。

安装 PySide2

pip install pyside2

也可以指定国内的安装源,下载速度更快。

pip install pyside2 -i https://pypi.douban.com/simple/

Python 3.11 不能安装 PySide2,可以安装PySide6;
如果要安装 PySide2,只能使用 Python 3.10 或者更早的 Python版本。

PySide2官方文档 https://doc.qt.io/archives/qtforpython-5.12/PySide2/QtWidgets/index.html#module-PySide2.QtWidgets

一、PySide2安装完成后,在python安装目录下Scripts文件夹,运行pyside2-designer.exe进入图形设计。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
保存图形界面生成 login.ui 文件(前缀可以自定义)

二、把 .ui 文件转换成 .py 文件供python程序调用

执行命令: pyside2-uic login.ui > login_ui.py
把UI文件转化为包含界面定义的Python代码文件,具体步骤如下:

  1. 把login.ui文件复制到python目录Scripts文件夹,在空白处按着shift + 右击鼠标,选择【在此处打开命令窗口】。
    在这里插入图片描述

在这里插入图片描述

  1. 运行命令后没有报错,说明正确生成了py文件。
    在这里插入图片描述
  2. 把login_ui.py文件复制到python项目以方便调用。
    在这里插入图片描述

三、调用login_ui.py 以及编写逻辑代码

import sys
from PySide2.QtWidgets import QApplication, QMainWindow
# 导入login_ui.py 文件 Ui_MainWindow 类
from login_ui import Ui_MainWindow

# 注意 这里选择的父类 要和你UI文件窗体一样的类型
# 主窗口是 QMainWindow, 表单是 QWidget, 对话框是 QDialog
class MainWindow(QMainWindow):

    def __init__(self):
        super().__init__()
        # 使用ui文件导入定义界面类
        self.ui = Ui_MainWindow()
        # 初始化界面
        self.ui.setupUi(self)
        # 调用自定义方法
        self.ui.pushButton_login.clicked.connect(self.handleCalc)
        self.ui.pushButton_exit.clicked.connect(self.eixtSys)

    def handleCalc(self):
        # 利用lineEdit控件对象text()函数获取界面输入
        username = self.ui.lineEdit_user.text()
        password = self.ui.lineEdit_pwd.text()
        # 利用textEdit控件对象setText()函数设置界面显示
        self.ui.textEdit_list.setText("登录成功!\n" + "用户名是: " + username + "\n密码是: " + password)

    def eixtSys(self):
        sys.exit()


app = QApplication([])
mainw = MainWindow()
# 将窗口控件显示在屏幕上
mainw.show()
# 程序运行,sys.exit方法确保程序完整退出。
sys.exit(app.exec_())

在这里插入图片描述
在这里插入图片描述
运行代码
在这里插入图片描述
在这里插入图片描述

四、使用Pyinstaller转换.py文件为.exe可执行程序

pyinstaller其实就是把python解释器和脚本打包成一个可执行文件,和编译成真正的机器码是完全两回事。所以打包不一定会提高运行效率,可能会降低运行效率,但是好处是在运行者机器上不用安装python和脚本所依赖的库。

输入指定的脚本后,首先pyinstaller会分析该脚本所依赖的其他依赖,然后进行查找、复制,把所有相关的依赖都收集起来并惊醒加密处理,包括python解释器,最后把这些文件放在一个目录下,或者打包到一个可执行文件。然后就可以直接运行所生成的可执行文件。

使用pyinstaller打包生成的可执行文件,只能在和打包机器系统相同的环境下运行。32位python环境打包的程序可以运行在32/64位windows系统上。64位python环境打包的程序只能运行在64位windows系统上。所以如果想打包程序的话,建议使用32位python环境打包。

注意事项
1、待转换的.py文件绝对路径最好不要包含中文字符,不然容易出现一些莫名其妙的问题。
2、python中需要有.py文件中用到的第三方库。否则在转换后的.exe文件中会出现不符合预期的结果。

安装pyinstaller库,打开cmd命令行窗口,输入:pip install pyinstaller

在这里插入图片描述
where pyinstaller 命令查看安装路径
在这里插入图片描述
在项目内打开CMD ,运行命令 pyinstaller -F QT2.py -w
在这里插入图片描述

可执行文件在 dist 目录
在这里插入图片描述

pyinstaller 实例说明

pyinstaller -F myScript.py -w

参数区分大小写

-F 表示生成单个可执行文件,常用。
-w 小写 表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!
-p 小写 表示你自己自定义需要加载的类路径,一般情况下用不到。
-i 表示可执行文件的图标。注意:图片后缀必须是.ico-c,console,-nowindowed:使用控制台,无窗口(默认)
-D 创建一个目录,包含EXE文件,但会依赖很多文件(默认选项)。

使用问题:
1、如果Python脚本使用到了第三方库,如何打包?

 方法一:将第三方库对应的包复制到待打包python脚本的同目录下,再执行打包命令。
 方法二:pyinstaller -F  路径\文件名.py 路径\文件名.py 

2、我的python脚本主要是命令行输出,但是程序执行完就退出无法查看相关信息,如何处理?

在python脚本最后一行添加命令:
os.system('pause') 或者 raw_input('Press enter any key to exit...')

3、 我想给我的打包后的执行程序换个图标,如何处理?

  使用参数-i :  pyinstaller -F -i tupian\qq.ico myScript.py 
  图标文件后缀名必须是.ico

4、程序运行出现CMD窗口,如何去除?

  带上参数-w : pyinstaller -F myScript -w 
wxpython python开发图形界面
05-29
wxpython python开发图形界面
用PyQt进行Python图形界面程序开发的入门指引
12-25
一般来说,选择用于应用程序的 GUI 工具箱会是一件棘手的事。使用 Python(许多语言也一样)的程序员可以选择的 GUI 工具箱种类繁多,而每个工具箱都有各自的优缺点。有些速度比其它工具箱快,有些比较小;有些易于...
项目进度管理系统----PythonPyside2模块(大一课设)
m0_74282695的博客
09-11 3501
2.在项目中新建一个目录,取名为“ui”(名字自己取)--->鼠标移到目录上--->鼠标右键点击目录--->External Tools--->New QtForm。代码组成有点乱,想要的私信我,有问题也可以问我,本人大一,会的不太多,但是我遇到的问题有不会的可以问问,看到会回复。设计了几个界面就要新建几个.py文件,这个.py文件是我们自己新建的,和pyuic工具生成的.py文件不是一个东西。1)打开 PyCharm--->文件--->设置--->工具--->外部工具。
【教程向】pyside2环境搭建以及快速上手
最新发布
麦子点点的博客
07-26 469
python3.6以上,好像最新的python也不太支持,所以推荐给的这个版本。VScode安装QT相关工具。
python开发图形界面吗_python 图形界面开发
weixin_39911475的博客
11-28 815
python开发图形界面,确实不是很方便,没有c#,Java,甚至VB来得容易。几个控件拖拽,然后响应事件。用python写脚本,或者web service来处理一般工作,绰绰有余。但有的时候,脱离开发环境,脱离服务器,还是GUI程序更单纯。Python支持多种图形界面的第三方库,包括:Tk,wxWidgets,Qt,GTK等等。Tk(Tkinter)是Python自带的库,使用Tkinter...
python如何做出图形界面,用python做图形用户界面
2301_81900439的博客
04-06 1911
大家好,小编为大家解答python编写图形化界面的工具的问题。很多人还不知道python图形化界面设计gui,现在让我们一起来看看吧!声明:本篇文章为转载自,在原作者的基础上添加目录导航,旨在帮助大家以更高效率进行学习和开发
如何用python做一个界面,python做一个界面程序
weixin_61088415的博客
02-20 4829
Python中,用于制作“ 用户图形界面 ” 的库有很多,最常见的像tkinterpyqt5。但是,本次课我们使用的是库,之所以使用这个库主要有以下两个重要原因:PySimpleGUI是在上述库之上进行了二次封装,基本可以实现上述模块的所有功能,比如具有常见的按钮、弹窗、滑块、下拉菜单等。PySimpleGUI制作图形界面,布局设计更简单、更人性化,代码量更少。由于PySimpleGUI属于Python的第三方开源库,因此需要额外安装、导入后,才能使用。
Python开发带图形用户界面的计算器完整项目流程实战_优秀案例实例源代码源码.zip
06-18
与早期计算机使用的命令行界面(类似 Python的IDLE窗口)相比,图形用户界面对于用户更加友好,用户不必记忆命令,使用鼠标等输入设备操控屏幕上的按钮或菜单等组件,就能直观、快捷地完成操作。本案例中计算器的图形用户...
利用aardio给python编写图形界面
09-21
由于Python本身没有内置的图形界面库,因此我们可以借助Aardio来为Python程序添加友好的GUI。 首先,我们需要了解Aardio的基本语法和特性。Aardio提供了一种直观的面向对象的编程方式,使得创建窗口、控件以及处理...
推荐8款常用的Python GUI图形界面开发框架
09-17
Python GUI图形界面开发框架是为Python开发者提供的一种创建交互式用户界面的工具,它们使得开发者无需深入学习底层图形系统就能构建美观且功能丰富的应用程序。以下将详细介绍标题和描述中提到的八款常用的Python ...
用C语言写的一个图形界面程序
11-06
作者无聊时用Dev-C++编写的一个图形界面程序,图形显示精准的打开文件时间和上个月、这个月、下个月的日历。
Python PyQt5运行程序把输出信息展示到GUI图形界面
09-16
本篇文章将详细讲解如何利用PyQt5将程序运行时的输出信息展示在GUI图形界面上。 首先,我们关注的是如何获取输出信息。在日常开发中,我们通常通过命令行或IDE(如PyCharm)来查看程序的输出。当我们需要将这些输出...
学了那么久Python还什么都做不了,我觉得你该试试这个方法了
热门推荐
龙叔的博客
11-08 1万+
答应我,别再做无用功了
python做图形用户界面,python图形用户界面代码
chatgpt002的博客
01-30 1237
比如,Jython 的用户界面将使用 Swing,AWT或者 SWT。Tkinter: Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数的 Unix 平台下使用,同样可以应用在 Windows 和 Macintosh 系统里。图形用户界面由窗口、下拉菜单、对话框及其相应的控制机制构成,在各种新式应用程序中都是标准化的,即相同的操作总是以同样的方式来完成,在图形用户界面,用户看到和操作的都是图形对象,应用的是计算机图形学的技术。
图形用户界面程序
MP-214的博客
11-09 612
GUI图形用户界面swing框架java.awt.Componentjava.awt.Containerjavax.swing.JFramejavax.swing.JComponent图形组件javax.swing.text.JTextComponentjavax.swing.JTextFieldjavax.swing.JTextAreajavax.swing.AbstractButtonjava...
python如何做图形化界面,python图形界面gui编程
Bxwfjdjdbdgj的博客
12-29 1万+
大家好,本文将围绕python编写图形化界面的工具展开说明,python如何做图形化界面是一个很多人都想弄明白的事情,想搞清楚python图形界面gui编程需要先了解以下几个事情。声明:本篇文章为转载自,在原作者的基础上添加目录导航,旨在帮助大家以更高效率进行学习和开发
Python学习--Python图形界面
二毛的博客
05-07 2556
1.几种常见的图形化模块: Tkinter 使用TK平台版标准化,本身是一个老资格的图形化,国外图形化一般使用TK来写。 Wxpython 基于wxwindows跨平台 Pythonwin 适用于windows,一般用来写外挂 PyQt 使用QT平台 跨平台 PyGTK 使用GKT平台流行于linux 2. Python三种文件 Py – 脚本文件 P...
Python手机图形界面开发基础教程
本资源是一份手机Python图形界面教程,针对初学者讲解Python在移动设备上的图形化开发。教程主要关注于基本操作,如使用Appuifw库创建和管理图形用户界面。以下是主要内容的详细说明: 1. **入门与环境设置**: ...
写文章

热门文章

  • uniapp 上传图片的两种方法 38882
  • uniapp 画布canvas的用法 25573
  • uniapp 生成二维码 18188
  • 华硕主板放电才能点亮 11387
  • uniapp 开发微信小程序使用TCP/UDP通信以16进制发送数据 11274

分类专栏

  • python 14篇
  • uni-app 59篇
  • three.js 4篇
  • nodejs 29篇
  • html & CSS 4篇
  • JavaScript 5篇
  • 物联网 10篇
  • mssql 3篇
  • 微信小程序 13篇
  • MySQL 3篇
  • 服务器 6篇
  • nginx 3篇
  • 笔记 9篇
  • delphi 3篇

最新评论

  • uniapp 开发小程序一个页面多个倒计时

    qq_39204618: 为啥是00分钟00秒

  • uniapp 开发小程序虚拟长列表万条数据不卡顿

    桓氦韬: 同出现图片闪烁,请问你有解决办法了吗?

  • uniapp 开发微信小程序使用TCP/UDP通信以16进制发送数据

    Anthony@:: 您好,error occurs:no such file or directory, open 'wxfile://ad/interstitialAdExtInfo.txt'这种情况是为什么呢

  • ESP8266对接巴法云平台实现小爱同学控制开关灯

    落落带飞: 引脚未声明定义错误没法用

  • three.js 制作3D相册

    菜鸟驿站2020: 把文字替换为图片就可以

大家在看

  • 使用Arduino Uno开发板实现流水灯的设计方案 374
  • 【网站项目】SpringBoot486网上教学系统
  • RPG Maker:游戏资源管理与导入教程
  • 一个.NET开发且功能强大的Windows远程控制系统 194
  • 分治算法专题(一)——快速排序之【三路划分】/归并排序 926

最新文章

  • Python使用连接池操作MySQL
  • Python之OpenCV的手势识别
  • python对接百度云车牌识别
2024年8篇
2023年5篇
2022年31篇
2021年51篇
2020年52篇
2019年7篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家10平米玻璃钢雕塑玻璃钢雕塑翻模定制玻璃钢仿铜雕塑玻璃钢卡通大象雕塑福建通道商场美陈销售企业玻璃钢花盆是用什么材料做的山南玻璃钢雕塑制作厂家玻璃钢防铜雕塑开裂掉色怎么办室外玻璃钢花盆花架图片玻璃钢花盆销路茂名加工玻璃钢卡通雕塑阜阳公园玻璃钢雕塑设计温州景区玻璃钢雕塑价位深圳开业商场美陈销售主题玻璃钢卡通雕塑怎么样本地玻璃钢雕塑全国发货潍坊玻璃钢雕塑邳州玻璃钢小天使的雕塑衡水玻璃钢广场雕塑定制石家庄透明玻璃钢雕塑哪家好玻璃钢雕塑行业分析报告江苏商场主题创意商业美陈制作普洱玻璃钢雕塑怎么样泰州商场美陈装饰魏都玻璃钢雕塑厂家玻璃钢大碗面雕塑成都玻璃钢雕塑设计西藏农场迎宾玻璃钢雕塑吉林户外玻璃钢雕塑多少钱信阳玻璃钢雕塑雕刻香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化