Tkinter ImageTk - Как вставить метку изображения в рамку? - PullRequest
0 голосов
/ 06 марта 2019

Итак, в этом графическом интерфейсе я пытаюсь вставить свое изображение (book.png) в рамку.Идея состоит в том, что красная рамка находится в верхней части окна с изображением по центру, а синяя внизу пустая.Вот код:

import tkinter as tk
from PIL import ImageTk, Image

class MainApp(tk.Frame):

    def __init__(self, master=None):

        self.master=master
        super().__init__(self.master)

        #----------------master config------------------
        self.master.geometry("{0}x{1}+0+0".format(self.master.winfo_screenwidth()-15, self.master.winfo_screenheight()-75))
        self.master.resizable(False, False)
        self.master.iconbitmap("Book.ico")

        #----------------frame config------------------
        self.pack(fill="both", expand=True)
        self.fState=False

        self.createWidgets()

    def createWidgets(self):

        MMenuFrame1=tk.Frame(self, bg="red").pack(fill="both", expand=True)
        MMenuFrame2=tk.Frame(self, bg="blue").pack(fill="both", expand=True)

        self.logo=Image.open("book.png")
        self.logo=self.logo.resize((150,150), Image.ANTIALIAS)
        self.logo=ImageTk.PhotoImage(self.logo)
        self.mainMenuLogo=tk.Label(MMenuFrame1, image=self.logo)
        self.mainMenuLogo.pack(expand=False)
        self.mainMenuLogo.image=self.logo


if __name__ == "__main__":

    root=tk.Tk()
    app=MainApp(master=root)
    app.mainloop()

Но когда я запускаю это, оно показывает как this :

Что я делаю не так?

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