[英]Tkinter Image not displaying in label or canvas
這是我實際創建這些標簽或畫布的代碼:
class FrameBanner(tk.Frame):
"""
"""
def __init__(self, root, color_black, color_yellow, width, height):
# Initialize from parent
super(FrameBanner, self).__init__(root)
# # Left 1 Banner
# self.banner_1 = tk.Canvas(master=self, width=width*0.8, height=height, bg=color_yellow)
self.image_1 = ImageTk.PhotoImage(Image.open("images_2/logo_here.png").resize((round(width*0.7), round(height*0.9)), Image.NEAREST))
# self.banner_1.create_image(10, 10, anchor="w", image=self.image_1)
# self.banner_1.image = self.image_1
self.banner_1 = tk.Label(master=self, image=self.image_1)
self.banner_1.image = self.image_1
# # Right 2 Banner
# self.banner_2 = tk.Canvas(master=self, width=width*0.2, height=height, bg=color_black)
self.image_2 = ImageTk.PhotoImage(Image.open("images_2/logo_here.png").resize((round(width*0.15), round(height*0.9)), Image.NEAREST))
# self.banner_2.create_image(width*0.2, 10, anchor="w", image=self.image_2)
# self.banner_2.image = self.image_IMS
self.banner_2 = tk.Label(master=self, image=self.image_2)
self.banner_2.image = self.image_2
# Grid Layout
self.banner_1.grid(column=0, row=0, sticky='w')
self.banner_2.grid(column=1, row=0, sticky='e')
這是我調用它的代碼:
## Banner
self.frm_banner_height = height*0.2
self.frm_banner = tk.Frame(master=self.frm_pregen, width=self.frm_pregen_width, height=self.frm_banner_height)
self.FrameBanner = FrameBanner(self.frm_banner, color_black, color_yellow, self.frm_pregen_width, self.frm_banner_height)
我后來做:
self.frm_banner.grid(column=0, row=0)
這是它的樣子,我希望兩個圖像的角落是空的:
有什么建議?
這是因為您沒有在self.FrameBanner
上調用任何布局函數:
...
self.FrameBanner.pack() # or whatever layout manager you want
self.frm_banner.grid(column=0, row=0)
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.