tk.PhotoImage не может открыть "GIF" - PullRequest
0 голосов
/ 22 сентября 2019

У меня странное поведение кода ниже.Когда я запускаю этот код с уровня PyCharm, он работает правильно и возвращает это окно (включая gif с логотипом Python!): Окно с логотипом Python

Когда я запускаю тот же код Python, но с использованиемФайлы .bat и .vbs.Это даст мне такую ​​ошибку:

Ошибка

Еще одна вещь ... Файл ".vbs" автоматически запускается при включении Windows (операционной системы).Файл ".vbs" открывает файл ".bat" и файл ".bat" открывает файл ".py".

Знаете ли вы, почему код Python не может найти ".gif", когда он начинается соперационная система Windows.

Вот код:

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 Ответ

1 голос
/ 22 сентября 2019

Программа не может найти файл.Я подозреваю, что это потому, что вы не запускаете программу Python из каталога, где находится GIF-файл.

Это можно устранить, указав полный путь к изображению или запустив файл bat из этого каталога, независимо от того, где находится файл bat.Я не пробовал с файлом VBS, но думаю, что проблема та же.

Вы можете поэкспериментировать, включив в свою программу строку, которая печатает рабочий каталог при запуске.

import os
print(os.getcwd()) 
...