gpt4 book ai didi

python - matplotlib 和 tkinter 交互 : How to select the defined Frame in Tkinter?

转载 作者:行者123 更新时间:2023-12-01 03:54:48 25 4
gpt4 key购买 nike

我在 Tkinter 中使用 matplotlib 时遇到问题。

计划如下:
1.使用 Tkinter 定义一个 Button 和一个 Frame (Frame_0)。
2. 单击Button使用matplotlib绘制正弦函数,如Frame_0
所示。

但我不知道该怎么做。

我只是一个初学者。但我只是认为最简单的方法可能是使用 get_tk_widget()“选择”小部件,这可能吗?或者还有其他命令可以做到这一点吗?

希望你能理解我糟糕的英语和我的初学者问题。这是代码。谢谢大家。

# -*- coding: utf-8 -*-

from Tkinter import *

import matplotlib
matplotlib.use('TkAgg')

from numpy import arange, sin, pi
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg
from matplotlib.backend_bases import key_press_handler
from matplotlib.figure import Figure


def command_0():
f = Figure(figsize=(5, 3), dpi=100)
a = f.add_subplot(111)
t = arange(0.0, 3.0, 0.01)
s = sin(2 * pi * t)
a.plot(t, s)

dataPlot = FigureCanvasTkAgg(f, master=root)
dataPlot.show()
dataPlot.get_tk_widget().pack(side=TOP, fill=BOTH, expand=1)
root.mainloop()


def Main():
global root

root = Tk()
root.title("Program")
root['background']='gray'

w = root.winfo_screenwidth()
h = root.winfo_screenheight()
root.geometry("%dx%d" %(w, h))
root.state("zoomed")

global Frame_0
Frame_0 = Frame(root)
Frame_0.place(height=600, width=800, x=10, y=10)


Frame_1 = Frame(root)
Frame_1.place(width=120, height=80, x=1000, y=20)
Button_1 = Button(Frame_1, text = "Click", width = 120, height=80, bg='green', command = command_0)
Button_1.place(x=1000, y=20)
Button_1.grid(row=0, column=0)
Button_1.pack()


root.mainloop()
return
Main()

最佳答案

如果你不想在frame_0中显示它,我不知道你为什么要设置master=root。只需更改:

dataPlot = FigureCanvasTkAgg(f, master=root)

至:

dataPlot = FigureCanvasTkAgg(f, master=Frame_0)

此外,您不需要在函数末尾添加 root.mainloop()

关于python - matplotlib 和 tkinter 交互 : How to select the defined Frame in Tkinter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37657485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com