首页 > 解决方案 > 单击 .pyw 时 tkinter GUI 不起作用

问题描述

我有一段代码做两件事:将一个 .txt 文件写入我当前的路径并运行一个模块(我看不到它的内容,因为文件都是 .pyc),它最终打开一个 tkinter GUI。

这是代码:

import os.path
from tkinter import messagebox as msg

if not os.path.isfile('FAST Locked.txt'):
    FASTlck = open('FAST Locked.txt', 'w+')
    FASTlck.write('Locked')
    FASTlck.close()

    import pyFiles.FAST

    os.remove('FAST Locked.txt')

else:
    msg.showerror('FAST Locked', 'FAST is open by another user.\n' +\
                  'Please try again later')
    exit()

当我从编辑器(IDLE 或 Spyder)运行此代码时,它运行良好。当我双击 .pyw 文件时,它只创建 .txt,我没有得到 GUI。如果我单击存在 .txt 文件的 .pyw,我会收到错误消息。这让我觉得这与这个 FAST 模块中的文件有关。

我正在运行 Python 3.7,最近在我的工作机器上安装了 Anaconda,以前他们只运行 Python 3.7 并使用 IDLE(其他所有工作机器仍然这样做,代码工作正常)。这让我想知道安装 conda/Spyder 是否搞砸了?

不确定哪个问题更有可能,并且不知道从哪里开始,因为我对 Python 还比较陌生,而且所有这些代码都是由其他人编写的。

标签: pythontkinter

解决方案


当您单击 .pyw 时,您无法直接执行您的脚本 由于您已经制作了一个 GUI,您必须首先使用例如 py2exe、pyinstaller 将其更改为可执行文件


推荐阅读