加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python-tkinter按钮不显示

发布时间:2020-12-17 17:35:30 所属栏目:Python 来源:网络整理
导读:当我执行脚本时,背景图像可以正常工作,它将与窗口的大小匹配,但是,我无法显示按钮(它们尚无功能).我对python相当陌生,所以不确定是否将按钮用作事件是一个好主意.任何帮助表示赞赏. import turtleimport tkinter as tkfrom tkinter import *from PIL import

当我执行脚本时,背景图像可以正常工作,它将与窗口的大小匹配,但是,我无法显示按钮(它们尚无功能).我对python相当陌生,所以不确定是否将按钮用作事件是一个好主意.任何帮助表示赞赏.

import turtle
import tkinter as tk
from tkinter import *
from PIL import Image,ImageTk

root = Tk()

taxi = (r"C:directoryimage.png")

class App(Frame):
    def __init__(self,master,Buttons=None):
        Frame.__init__(self,Buttons)
        self.columnconfigure(0,weight=1)
        self.rowconfigure(0,weight=1)
        self.original = Image.open(r"C:directoryLayout.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,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.Buttons()添加到self .__ init__

最少工作(已解决)的示例.

from tkinter import *


class App(Frame):
    def __init__(self,master):
        Frame.__init__(self,master)
        self.columnconfigure(0,weight=1)
        self.pack(fill='both',self.resize)
        self.Buttons()  # <--------------------- IMPORTANT!

    def resize(self,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()

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读