tk.PhotoImage无法打开“ gif”

时间:2019-09-21 21:32:23

标签: python file tkinter directory photoimage

我对以下代码有奇怪的行为。 当我从PyCharm级别运行此代码时,它可以正常工作并返回此窗口(包括带有Python徽标的gif!): Window with Python logo

当我运行相同的python代码但使用.bat和.vbs文件时。这会给我这样的错误:

Error

还有一件事情……打开Windows(操作系统)时,“。vbs”文件会自动启动。 “ .vbs”文件打开“ .bat”文件,“。bat”文件打开“ .py”文件。

您知道为什么从Windows操作系统启动时python代码无法找到“ .gif”吗?

这是代码:

import tkinter as tk
class KeypadTest():
    def __init__(self, master):
        self.master = master
        self.time_display = tk.IntVar()
        global logo
        logo = tk.PhotoImage(file="indeks_gif.gif")
        tk.Label(self.master, height=10, width=10 , textvariable=self.time_display,bg="red").pack(side="right")
        Info = """INFO"""
        tk.Label(self.master,compound = tk.CENTER,image=logo,text=Info).pack()
master = tk.Tk()
KT = KeypadTest(master)
master.mainloop()

1 个答案:

答案 0 :(得分:1)

程序找不到文件。我怀疑这是因为您没有从gif文件所在的目录中运行Python程序。

可以通过提供映像的完整路径或通过从该目录运行bat文件来解决该问题,而不管bat文件位于何处。我尚未尝试使用vbs文件,但我认为问题是相同的。

您可以尝试在程序中包含一行,该行在启动时会打印出工作目录。

import os
print(os.getcwd())