0、DearPyGui认为窗口标题不需要支持中文

dpg.create_viewport(title=‘xxx’),中文编码问题 - Github议题

1、禁用微软商店引流

点击开始菜单输入管理应用执行别名搜索系统设置,将该列表划到最底部,找到python.exepython3.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 dearpyguipip 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.ttfdpg文件夹
新建文件.\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支持修改图标

  1. pip install pyinstaller安装PyInstaller

  2. python -m PyInstaller --onefile --noconsole --name hello --icon .\1.ico .\hello.py

  3. 生成spec位置:.\dpg\hello.spec
    编辑spec文件,将datas=[],改为datas=[('MiSans-Regular.ttf', '.'), ('1.ico', '.')],
    (元组的第一个参数是当前资源路径,第二个参数是目标路径)

  4. 运行python -m PyInstaller .\hello.spec

  5. 最终程序位置:.\dpg\dist\hello.exe

  6. 运行一下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搭建、你好、打包相关推荐

  1. python tkinter库、添加gui界面_使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)...

    使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二),创建一个,界面,布局,文件,路径 使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二) ...

  2. PYQT4 Python GUI 编写与 打包.exe程序

    工作中需要开发一个小工具,简单的UI界面可以很好的提高工具的实用性,由此开启了我的第一次GUI开发之旅,下面将自己学习的心得记录一下,也做为学习笔记吧!!! 参考:http://www.qaulau. ...

  3. Python GUI编程:将自己写的postman打包成exe可执行文件

    通过前面几个章节的文章,我们学会了通过PySide2去编写一个简单的GUI页面测试小工具: Python GUI编程:PySide2介绍 Python GUI编程:如何运行第一个PySide2的窗体程 ...

  4. wxPython和PyQt谁才是最赞的Python GUI库?

    Python是一种解释型.面向对象.动态数据类型的高级程序设计语言,Python GUI图形库允许Python程序员很方便的创建完整的.功能键全的GUI用户界面.作为Python开发者,你迟早都会用到 ...

  5. Python学习--环境搭建

    Python学习入门–环境搭建 Python简介 在进行Python环境搭建之前 ,先简单的介绍一下Python这门语言. Python, 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido ...

  6. PAGE:像Visual Studio一样设计Python GUI窗体

    虽然使用标准库tkinter开发Python GUI程序很方便,也提供了强大的功能,但是窗体上的一切都需要程序员使用代码来控制,在页面布局上浪费大量时间,确实不是很方便.今天我们来介绍一个叫做PAGE ...

  7. 路径压缩_实战|python GUI压缩小程序

    说到Python,我们常常想到的就是一个小窗口,黑黢黢的cmd窗口运行一下代码. 就像下图: 那Python可不可以做出来具有界面的程序呢?就像这样: 答案是可以的,那我们就要说一下Python GU ...

  8. 自玩树莓派记录-关于树莓派LCD3.5英寸屏幕使用及raspios(raspbian)-lite简单GUI服务搭建记录

    自玩树莓派记录-关于树莓派LCD3.5英寸屏幕使用及raspios(raspbian)-lite简单GUI服务搭建记录 硬件准备 1.下载系统 2.树莓派安装系统 上脸 安装GUI服务 最后填个坑,慢 ...

  9. Python Tkinter 之Listbox控件(Python GUI 系列12)

    Python Tkinter 之Listbox控件(Python GUI 系列12) 1. 序言 本章介绍Tkinter的Listbox控件,本文是Python GUI系列的第12篇文章,整个系统约2 ...

最新文章

  1. centos7samba服务的搭建
  2. boost::geometry::intersects用法的测试程序
  3. boost::fusion::join用法的测试程序
  4. 数据结结构学习 ---赫夫曼树
  5. 计算机双一流a水平大学,教育部公布:全国双一流A类名单出炉,36所大学上榜,你的大学在内吗...
  6. 1 PP配置-一般设置-维护工厂日历
  7. centos mysql导出数据库命令_在centos(linux)下用命令导出mysql数据库数据
  8. java基础—TreeSet集合中储存自定义对象(java集合二)
  9. HDU 1242 特殊化带结构体BFS
  10. LVM逻辑管理器(Logical volume Manager)
  11. A 5G Odyssey :2021北京漫游
  12. 自定义 Spring Starter
  13. 五、结构化分析与设计
  14. 「应用安全」应用安全原则
  15. 重整旗鼓学java之java基础
  16. 从RCNN,Fast-RCNN到Fater-RCNN的演化过程
  17. 通过ip无法获得计算机名称,电脑获取不到IP地址如何解决
  18. fiddler抓手机端的包(苹果手机)
  19. java aes ctr_与AES-CTR相比,Java AES-GCM非常慢
  20. 电商API按关键字搜索商品

热门文章

  1. 程序员接外包?老司机的经验之谈,务必收藏好哦
  2. gerrit mysql_gerrit中mysql配置
  3. php 美化json,[PHP]JSON数据美化
  4. 最差的算法工程师能差到什么程度?
  5. python之open函数
  6. 论文阅读|TransPose
  7. 【MCU】一种单片机节省内存的方法(补充)
  8. 多线程和多进程优缺点及其适用场合
  9. SharePoint Online 为Modern Page添加脚本
  10. 单反相机采购推荐2013版(3)-1万到3W的配置