[Python GUI]DearPyGui搭建、你好、打包
0、DearPyGui认为窗口标题不需要支持中文
dpg.create_viewport(title=‘xxx’),中文编码问题 - Github议题
1、禁用微软商店引流
点击开始菜单输入管理应用执行别名
搜索系统设置,将该列表划到最底部,找到python.exe
和python3.exe
,将其设置为关闭状态
这是微软搞的狗皮膏药,强制型环境变量
2、配置Python环境
1.考虑版本管理:Anaconda官网、Miniconda清华镜像、pyenv-win的Github仓库
2.只安装Python:华为镜像、阿里镜像、newbe、Python官网ftp地址、Python官网中文页面
3.Python嵌入版:Python3.11.2下载页面、Python3.11.2嵌入版下载直链、各个镜像的嵌入式压缩包
查看setup.py判断支持的Python版本
(DearPyGui 不支持 Python嵌入版32位)(Python嵌入版安装Pyinstaller难度高)
本篇文章安装Python3.11.2 64位python-3.11.2-amd64.exe
勾选Add python.exe to PATH
,点击Install Now
点击Disable path length limit
,点击Close
按钮,完成安装
运行pip config list -v
获取可能的配置文件路径,参考路径创建配置文件
例如:C:\ProgramData\pip\pip.ini
,新建该文件,内容如下
[global]
index-url = https://repo.huaweicloud.com/repository/pypi/simple
trusted-host = repo.huaweicloud.com
timeout = 120
3、安装DearPyGui
python -m pip install dearpygui
或pip install dearpygui
4、安装VSCode
如何下载安装VSCode
VSCode插件:Python
VSCode插件:Pylint
Ctrl+Shift+P
选择解释器,设置python.exe的路径.\python-3.11.2-embed-amd64\python.exe
Ctrl+Shift+P
选择 Linter,选择pylint
5、下载字体
MiSans、OPPO Sans,然后解压备用
6、官方demo
新建文件夹dpg
新建文件showdemo.py
,内容为
"""显示官方demo"""
import dearpygui.dearpygui as dpg
from dearpygui import demodpg.create_context()
dpg.create_viewport(title="hello", width=1020, height=600)demo.show_demo()dpg.setup_dearpygui()
dpg.show_viewport()
dpg.start_dearpygui()
dpg.destroy_context()
运行python showdemo.py
7、helloworld
(已知问题,该程序无法在Win10系统上正常修改窗口标题,Python版本问题)
复制MiSans-Regular.ttf
到dpg
文件夹
新建文件.\dpg\hello.py
,内容为
"""显示一个label,并添加中文支持"""
import sys
import os
import random
import threading
from ctypes import windll
import dearpygui.dearpygui as dpgFindWindow = windll.user32.FindWindowW
SetWindowText = windll.user32.SetWindowTextWdef set_title(old_title, new_title):"""循环检测窗口是否生成,生成之后修改窗口标题"""while True:hwnd = FindWindow(None, old_title)if hwnd != 0:SetWindowText(hwnd, new_title)breakTITLE = "你好1"
FONT = "MiSans-Regular.ttf"
ICON = "1.ico"
if getattr(sys, "frozen", False):bundle_dir = sys._MEIPASS
else:bundle_dir = os.path.dirname(os.path.abspath(__file__))
FONT = os.path.join(bundle_dir, FONT)
ICON = os.path.join(bundle_dir, ICON)dpg.create_context()
RANDOM_TITLE = str(random.random())
dpg.create_viewport(title=RANDOM_TITLE, width=100, height=100, small_icon="1.ico", large_icon="1.ico"
)with dpg.font_registry():with dpg.font(FONT, 20) as ft:dpg.add_font_range_hint(dpg.mvFontRangeHint_Default)dpg.add_font_range_hint(dpg.mvFontRangeHint_Chinese_Simplified_Common)dpg.add_font_range_hint(dpg.mvFontRangeHint_Chinese_Full)dpg.bind_font(ft)with dpg.window(label="你好2", width=100, height=100, pos=(0, 0)):dpg.add_text(default_value="你好3")dpg.setup_dearpygui()
dpg.show_viewport()
threading.Thread(target=set_title, args=(RANDOM_TITLE, TITLE)).start()
dpg.start_dearpygui()
dpg.destroy_context()
运行python hello.py
8、PyInstaller打包
Pyinstaller文档
在线ICO转换网站用来转换图标,PyInstaller支持修改图标
pip install pyinstaller
安装PyInstallerpython -m PyInstaller --onefile --noconsole --name hello --icon .\1.ico .\hello.py
生成spec位置:
.\dpg\hello.spec
编辑spec文件,将datas=[],
改为datas=[('MiSans-Regular.ttf', '.'), ('1.ico', '.')],
(元组的第一个参数是当前资源路径,第二个参数是目标路径)运行
python -m PyInstaller .\hello.spec
最终程序位置:
.\dpg\dist\hello.exe
运行一下hello.exe
左上角图标正常
任务栏图标正常
文件图标正常
9、3.11.2Python在Win10系统上使用SetWindowText会丢尾
修复代码(既然你喜欢丢尾巴,那我就加长尾巴,win32gui 来自 pywin32 模块)
def set_title(old_title, new_title):"""循环检测窗口是否生成,生成之后修改窗口标题3.11.2版本Python使用SetWindowText在Window10上有bug,SetWindowText(123,"你好1"),窗口标题会变成"你",会丢字符"""# win11系统if sys.getwindowsversion().build > 20000:hwnd = 0while hwnd == 0:hwnd = win32gui.FindWindow(None, old_title)while win32gui.GetWindowText(hwnd) != new_title:win32gui.SetWindowText(hwnd, new_title)# win10系统?else:hwnd = 0new_title_tail = new_titlewhile hwnd == 0:print(1)hwnd = win32gui.FindWindow(None, old_title)while win32gui.GetWindowText(hwnd) != new_title:print(2)new_title_tail = new_title_tail + "_"win32gui.SetWindowText(hwnd, new_title_tail)
修复前
修复后
[Python GUI]DearPyGui搭建、你好、打包相关推荐
- python tkinter库、添加gui界面_使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)...
使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二),创建一个,界面,布局,文件,路径 使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二) ...
- PYQT4 Python GUI 编写与 打包.exe程序
工作中需要开发一个小工具,简单的UI界面可以很好的提高工具的实用性,由此开启了我的第一次GUI开发之旅,下面将自己学习的心得记录一下,也做为学习笔记吧!!! 参考:http://www.qaulau. ...
- Python GUI编程:将自己写的postman打包成exe可执行文件
通过前面几个章节的文章,我们学会了通过PySide2去编写一个简单的GUI页面测试小工具: Python GUI编程:PySide2介绍 Python GUI编程:如何运行第一个PySide2的窗体程 ...
- wxPython和PyQt谁才是最赞的Python GUI库?
Python是一种解释型.面向对象.动态数据类型的高级程序设计语言,Python GUI图形库允许Python程序员很方便的创建完整的.功能键全的GUI用户界面.作为Python开发者,你迟早都会用到 ...
- Python学习--环境搭建
Python学习入门–环境搭建 Python简介 在进行Python环境搭建之前 ,先简单的介绍一下Python这门语言. Python, 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido ...
- PAGE:像Visual Studio一样设计Python GUI窗体
虽然使用标准库tkinter开发Python GUI程序很方便,也提供了强大的功能,但是窗体上的一切都需要程序员使用代码来控制,在页面布局上浪费大量时间,确实不是很方便.今天我们来介绍一个叫做PAGE ...
- 路径压缩_实战|python GUI压缩小程序
说到Python,我们常常想到的就是一个小窗口,黑黢黢的cmd窗口运行一下代码. 就像下图: 那Python可不可以做出来具有界面的程序呢?就像这样: 答案是可以的,那我们就要说一下Python GU ...
- 自玩树莓派记录-关于树莓派LCD3.5英寸屏幕使用及raspios(raspbian)-lite简单GUI服务搭建记录
自玩树莓派记录-关于树莓派LCD3.5英寸屏幕使用及raspios(raspbian)-lite简单GUI服务搭建记录 硬件准备 1.下载系统 2.树莓派安装系统 上脸 安装GUI服务 最后填个坑,慢 ...
- Python Tkinter 之Listbox控件(Python GUI 系列12)
Python Tkinter 之Listbox控件(Python GUI 系列12) 1. 序言 本章介绍Tkinter的Listbox控件,本文是Python GUI系列的第12篇文章,整个系统约2 ...
最新文章
- centos7samba服务的搭建
- boost::geometry::intersects用法的测试程序
- boost::fusion::join用法的测试程序
- 数据结结构学习 ---赫夫曼树
- 计算机双一流a水平大学,教育部公布:全国双一流A类名单出炉,36所大学上榜,你的大学在内吗...
- 1 PP配置-一般设置-维护工厂日历
- centos mysql导出数据库命令_在centos(linux)下用命令导出mysql数据库数据
- java基础—TreeSet集合中储存自定义对象(java集合二)
- HDU 1242 特殊化带结构体BFS
- LVM逻辑管理器(Logical volume Manager)
- A 5G Odyssey :2021北京漫游
- 自定义 Spring Starter
- 五、结构化分析与设计
- 「应用安全」应用安全原则
- 重整旗鼓学java之java基础
- 从RCNN,Fast-RCNN到Fater-RCNN的演化过程
- 通过ip无法获得计算机名称,电脑获取不到IP地址如何解决
- fiddler抓手机端的包(苹果手机)
- java aes ctr_与AES-CTR相比,Java AES-GCM非常慢
- 电商API按关键字搜索商品