Python Tkinter PhotoImage неправильно отображает gif - PullRequest
0 голосов
/ 07 апреля 2019

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

        tkinter.Tk.__init__(self,master)
        self.title("Apex Companion")
        self.resizable(width=False, height=False)
        self.geometry("250x400")
        self.overrideredirect(True)
        self.config(bg="#393939")
        #Tob Bar Frame
        tb = tkinter.Frame(self,height=20,width=250,bg="#232323")
        tb.pack_propagate(False)
        #Top Bar Text
        tb_text = tkinter.Label(tb, text="Apex Companion",bg="#232323",fg="#737373")
        #Top Bar Close
        tb_close = tkinter.Button(tb, height=2, width=3,
                                  text="✕", bg="#232323", fg="#ffffff",
                                  activebackground="#c94343",activeforeground="#ffffff",
                                  command=self.destroy, bd=0)
        #Top Bar Minimize
        tb_min = tkinter.Button(tb, height=2, width=2,
                                text="—", bg="#232323",fg="#ffffff"
                                ,bd=0)
        #Top Bar Logo
        tb_img = tkinter.PhotoImage(file="logo_apc.gif")
        tb_logo = tkinter.Label(tb,image=tb_img)

        tb.pack()
        tb_close.pack(side=tkinter.RIGHT)
        tb_min.pack(side=tkinter.RIGHT)
        tb_logo.pack(side=tkinter.LEFT)
        tb_text.pack()

1 Ответ

0 голосов
/ 07 апреля 2019

Это может быть ошибка, которая удаляет PhotoImage из памяти, когда вы присваиваете ее локальной переменной.

Попробуйте присвоить его переменной класса self.tb.img = tkinter.PhotoImage(...)

Подробнее о дне страницы: effbot.org / tkinterbook / photoimage.htm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...