pythongui应用程序的操作系统菜单快捷方式、正确的任务栏行为和环境激活
desktop-app的Python项目详细描述
桌面应用程序
desktop-app
简化了Python GUI应用程序的安装、启动和行为
在Windows和
Linux(计划支持Macos)。在
如果您的应用程序是一个Python模块,可以从命令行以python -m mymodule
的形式运行,那么使用最小配置desktop-app
可以:
- 创建一个运行应用程序的启动程序脚本(或在windows上为
.exe
)- 激活
conda
环境或虚拟环境(如果有)后 - 如果在Windows上,则使用隐藏的控制台
- 激活
- 安装开始菜单快捷方式(Windows)或
.desktop
文件(Linux)以启动 桌面应用程序菜单中的应用程序 - 确保您的应用程序在任务栏中显示正确的名称和图标, 并且可以正确固定。在
基本用途
在_这里_ , _我们_将_按照_这个_存储_库_中_的_示例_ , _为_一_个_名_为_ ^{<_cd7_>} _的_模块_开发_ 。_ 在老麦克唐纳的农场。在老麦克唐纳听说desktop-app
之前,他有一个
包装如下:.
├── oink
│ ├── __init__.py
│ └── __main__.py
└── setup.py
其中setup.py
是:
__main__.py
是:
importtkinterroot=tkinter.Tk()root.geometry("300x300")w=tkinter.Label(root,text="Oink!")w.place(relx=0.5,rely=0.5,anchor=tkinter.CENTER)root.mainloop()
并且__init__.py
为空。在
在某个地方安装了这个软件包之后,MacDonald就可以用
python -m oink
,它显示了一个小窗口
[自述仍在进行中!]在
原因
为什么在Windows上使用隐藏控制台?在
运行pythongui应用程序的通常建议是使用Pythonw.exe
,它
不创建控制台窗口。但是,在Pythonw.exe
下运行时,一个简单的
print()
调用将引发异常,certain low-level output
redirection
由于stdout
和stderr
文件句柄不存在,的子进程无法工作。
此外,某些工具可能会创建调用cmd.exe
,或Python.exe
的子进程,
暂时弹出他们自己的控制台窗口,因为一个还不存在。在
为了能够忽略这些问题,并像使用
控制台,在Windows中,启动程序脚本使用
Python.exe
,但是带有CREATE_NO_WINDOW
标志以便控制台存在,但是
不可见。在
为什么要激活环境?在
除非在Windows上使用conda,否则严格来说不需要激活环境 在这种情况下,一些已编译的扩展(特别是Qt库)不能导入,除非 环境是活跃的。在
但是,即使在其他平台上激活环境也可以简化运行其他
可能安装到虚拟机的bin
/Scripts
目录的程序
否则,环境调用代码将不得不手动查找此目录并
提供要运行的程序的完整路径。在
- 项目
标签: