我希望我的標籤在圖中顯示在的同一列中。它們都是通過點擊生成的。我將它們放在網格的同一列中,但圖像顯示在鄰居列中。什麼原因以及如何糾正?Python 3 tkinter圖像顯示在錯誤的列中
這是我的簡化代碼。
from tkinter import *
from tkinter import ttk
class App(Frame):
def __init__(self, master):
ttk.Frame.__init__(self, master, padding='20')
self.grid(column=0, row=0, sticky=(N, W, E, S))
self.create_button()
def create_button(self):
self.button = ttk.Button(self,
text="Click",
width=12,
command=lambda: self.display_name_and_picture()
).grid(column=2, columnspan=2, row=1, sticky=NW)
def display_name_and_picture(self):
random_label = ttk.Label(self, font=(None, 16), text='random random')
random_label.grid(row=0, column=5, sticky=N)
random_image = PhotoImage(file='random.gif')
label = Label(image=random_image)
label.image = random_image
label.grid(row=1, column=5, sticky=NW)
root = Tk()
root.title("Random something...")
root.geometry("600x300")
app = App(root)
root.mainloop()
在你的'create_button'方法改變'command'到 '命令= self.display_name_and_picture' – styvane
'自我.button = ttk.Button(...)。grid(...)'將self.Button設置爲None。如果你不需要'self.button',就取消分配。如果你這樣做,將語句分成'self.button = ttk.Button(...)'和'self.button.grid(...)'。 –
第二個標籤缺少'ttk'前綴。 'label.image'屬性分配似乎沒用。 –