cdw*_*son 3 python macos tk-toolkit tkinter
我在启动基于GUI Tkinter的应用程序时试图隐藏终端,但是当我双击OSX上的app.py文件时,会出现终端窗口.我已经尝试将扩展名更改为.pyw并尝试使用/ usr/bin/pythonw启动它,但无论如何,终端窗口仍会出现.
我甚至尝试添加下面的try/except,但是当我运行它时,我收到错误:出现在终端窗口中的'无效命令名称"console"'.
from Tkinter import *
class MainWindow(Tk):
def __init__(self):
Tk.__init__(self)
try:
self.tk.call('console', 'hide')
except TclError, err:
print err
win = MainWindow()
win.mainloop()
Run Code Online (Sandbox Code Playgroud)
我无法找到任何方法来隐藏终端窗口出现.有人有任何想法吗?
通过双击.pyOS X上的文件,您可能会通过Python Launcher.appOS X Pythons提供的Python gui实例启动.您可以通过.py在Finder中选择文件并对其进行操作来验证这Get Info一点.Python Launcher是一个非常简单的应用程序,它通过Terminal.app命令启动Python.要直接启动自己的Python GUI应用程序,首选方法是使用py2app创建一个简单的应用程序.有一个简短的教程这里.
编辑:
当然还有其他方法,但很可能其中任何一种都会增加更多层次的间接.要制作一个可正常启动的"双击"应用程序,您需要某种应用程序结构.这就是py2app让你直接创造的东西.
一个非常简单的选择是利用AppleScript编辑器创建启动器应用程序的能力.在AppleScript编辑器中:
/Applications/Utilities/AppleScript
Editor.app 在OS X 10.6中
/Applications/AppleScript/Script
Editor.app 在10.5
制作一个类似于此的新脚本:
do shell script "/path/to/python /path/to/script.py &> /dev/null &"
Run Code Online (Sandbox Code Playgroud)
然后Save As..用File Format -> Application.然后你将有一个双击应用程序,将启动另一个应用程序.您可以使用Apple创建类似的东西Automater.app.但是,在幕后,他们正在做类似于py2app你的事情,只是在顶部有更多的层.
| 归档时间: |
|
| 查看次数: |
3915 次 |
| 最近记录: |