[英]tkinter buttons not displaying
當我執行腳本時,背景圖像可以正常工作,它將匹配窗口的大小,但是,我無法顯示按鈕(它們還沒有功能)。 我對python相當新,所以我不確定我是否使用按鈕作為事件是一個好主意。 任何幫助表示贊賞。
import turtle
import tkinter as tk
from tkinter import *
from PIL import Image, ImageTk
root = Tk()
taxi = (r"C:\directory\image.png")
class App(Frame):
def __init__(self, master, Buttons=None):
Frame.__init__(self, master, Buttons)
self.columnconfigure(0,weight=1)
self.rowconfigure(0,weight=1)
self.original = Image.open(r"C:\directory\Layout.gif")
self.image = ImageTk.PhotoImage(self.original)
self.display = Canvas(self, bd=0, highlightthickness=0)
self.display.create_image(500, 500, image=self.image, anchor=NW, tags="IMG")
self.display.grid(row=0, column=0, sticky=W+E+N+S)
self.pack(fill='both', expand=True)
self.bind("<Configure>", self.resize)
def resize(self, event):
size = (event.width, event.height)
resized = self.original.resize(size,Image.ANTIALIAS)
self.image = ImageTk.PhotoImage(resized)
self.display.delete("IMG")
self.display.create_image(0, 0, image=self.image, anchor=NW, tags="IMG")
def Buttons(self, event):
self.Button1 = tk.Button(master = root, text = "Button1") #, command = forward).pack(side = tk.LEFT)
self.Button1.grid(row=1, column=1)
self.Button2 = tk.Button(master = root, text = "Button2") #, command = forward).pack(side = tk.LEFT)
self.Button2.grid(row=2, column=1)
self.Button3 = tk.Button(master = root, text = "Button3") #, command = forward).pack(side = tk.LEFT)
self.Button3.grid(row=3, column=1)
app = App(root)
app.mainloop()
我在評論中添加了您的代碼中的建議,並刪除了一些不相關的行(針對該問題)。 現在按鈕顯示:
從Buttons方法中刪除events
參數。
將self.__init__
self.Buttons()
添加到self.__init__
最小工作(已解決)示例。
from tkinter import *
class App(Frame):
def __init__(self, master):
Frame.__init__(self, master)
self.columnconfigure(0, weight=1)
self.rowconfigure(0, weight=1)
self.pack(fill='both', expand=True)
self.bind("<Configure>", self.resize)
self.Buttons() # <--------------------- IMPORTANT!
def resize(self, event):
size = (event.width, event.height)
def Buttons(self): # <--------------------- Remove the event argument
self.Button1 = Button(master=self, text="OLD VINS")
self.Button1.grid(row=1, column=1)
self.Button2 = Button(master=self, text="QBAY")
self.Button2.grid(row=2, column=1)
self.Button3 = Button(master=self, text="HELP")
self.Button3.grid(row=3, column=1)
root = Tk()
app = App(root)
app.mainloop()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.