脚本可以在空闲状态下工作,但是.py文件不能

2024-10-03 17:28:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个tkinter脚本,它在空闲时运行得很好。但是,当我在Windows资源管理器中双击.py文件时,控制台窗口会闪烁半秒,然后退出。

我可以截屏打印控制台窗口。上面写着:

...etc.etc...
NameError: global name 'simpledialog' is not defined

simpledialog是我在脚本中使用的tkinter中的一个模块。正如我所做的from tkinter import *,不需要显式地编写tkinter.simpledialog

它在空闲状态下工作,为什么不作为.py?


Tags: 文件namepy脚本istkinterwindowsetc
3条回答

我的一个脚本使用Tkinter也有同样的问题。 添加对mainloop()的调用修复了此问题。 有关示例,请参见本教程:[http://sebsauvage.net/python/gui/#import1

在我的例子中,在init函数中

def __init__(self,Width=400, Height=400):
        # Create GUI window ------------------------------            
        win = Tk()
        ...

init的末尾,我添加了:

        win.mainloop()

现在只要运行文件就行了。 希望这有帮助

您是否更新了PATH环境变量以便找到您的Python可执行文件?你可以在这里找到更多关于如何做的信息-Using Python on Windows

但是,您基本上需要确保在提示符下键入以下命令时显示包含python.exe的文件夹(例如C:\ Python32):

echo %PATH%

IDLE使用Tkinter作为图形环境。您的代码可能依赖于IDLE本身导入的副作用。如果在没有子进程的情况下使用IDLE,情况尤其如此。

使用from tkinter import *时,simpledialog模块不导入。 尝试将此添加到代码中:

import tkinter.simpledialog as simpledialog

相关问题 更多 >