python tkinter button_python-tkinter按钮不显示

当我执行脚本时,背景图像可以正常工作,它将与窗口的大小匹配,但是,我无法显示按钮(它们尚无功能).我对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,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("",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()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的例子,演示如何使用Matplotlib与Tkinter集成,实现一个简单的数据可视化应用程序。这个例子只是一个基础的应用程序,你可以根据自己的需求进行修改和扩展。 ```python import tkinter as tk from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg from matplotlib.figure import Figure class Application(tk.Frame): def __init__(self, master=None): super().__init__(master) self.master = master self.pack() self.create_widgets() def create_widgets(self): # 创建一个按 self.plot_button = tk.Button(self) self.plot_button["text"] = "Plot Data" self.plot_button["command"] = self.plot_data self.plot_button.pack(side="top") # 创建一个 Matplotlib 的 Figure 对象 self.fig = Figure(figsize=(5, 4), dpi=100) # 在 Figure 对象中添加一个 Axes 对象 self.ax = self.fig.add_subplot(111) # 在 Axes 对象中绘制一条曲线 self.x = [1, 2, 3, 4, 5] self.y = [1, 4, 9, 16, 25] self.ax.plot(self.x, self.y) # 创建一个 Matplotlib 的画布,用于显示 Figure 对象 self.canvas = FigureCanvasTkAgg(self.fig, master=self) self.canvas.draw() self.canvas.get_tk_widget().pack(side="bottom", fill="both", expand=True) def plot_data(self): # 在 Axes 对象中绘制另一条曲线 self.ax.plot(self.x, [i ** 2 for i in self.x]) self.canvas.draw() root = tk.Tk() app = Application(master=root) app.mainloop() ``` 这个例子中,我们首先创建了一个继承自`tk.Frame`的类`Application`,然后在类的构造函数中创建了一个按和一个Matplotlib的Figure对象。我们在Figure对象中创建了一个Axes对象,并在Axes对象中绘制了一条曲线。接着,我们创建了一个Matplotlib的画布,并将Figure对象显示在画布上。 当用户点击按时,我们在Axes对象中绘制了另一条曲线,并通过调用`canvas.draw()`方法,将更新后的Figure对象显示在画布上。 你可以尝试运行这个例子,看看它是如何工作的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值