我使用pythontkinter进行设计目的。在我的用户界面,我有一个 画布、分隔符和滚动条。更新时,新画布 附加到上一个。你能告诉我怎么把 上一个画布、分隔符和滚动条?在
我试了separator.destroy()
,canvas.delete('all')
,
self.canvas.delete('all')
、self.canvas.update_idletasks()
等。
代码:
from tkinter import *
import matplotlib
import pandas as pd
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
import matplotlib.pyplot as plt
from wordcloud import WordCloud
from matplotlib.figure import Figure
master = Tk()
separator3 = Frame(height=618,width=180, bd=4, bg='dodgerblue')
separator6 = Frame(height=250,width=240, bd=4, bg='dodgerblue')
separator1 = Frame(height=100,width=100, bd=1,bg='dodgerblue')
def get():
Disp_pos =10
Disp_neg =-12
w = Scale(separator6, from_=10, to=0,orient=VERTICAL)
w.set(Disp_pos)
w.pack(anchor=CENTER,side=TOP,ipady=10,ipadx=10)
Label1 = Label(separator6, text="")
Label1.pack(anchor=CENTER, side=TOP)
f3 = Figure(figsize=(2, 3), dpi=100)
canvas2 = FigureCanvasTkAgg(f3, master=separator3)
Label1 = Label(separator3,text=" WORD CLOUD ")
Label1.pack(anchor=CENTER, side=TOP)
ax3 = f3.add_subplot(111)
text = 'sample'
print(type(text))
ax3.set_wordcloud = WordCloud().generate(text)
ax3.imshow(ax3.set_wordcloud, interpolation='bilinear')
ax3.axis("off")
canvas2.show()
canvas2.get_tk_widget().pack( side=BOTTOM,fill=BOTH, expand=1)
canvas2.draw()
separator2 = Frame(height=150, width=280, bd=4, bg='dodgerblue')
scrollbar = Scrollbar(separator2)
scrollbar.pack(side=RIGHT, ipady=270, fill=Y)
Label1 = Label(separator2, text=" TEXT ",font=('Times', 12))
Label1.pack(anchor=CENTER, side=TOP)
i = 'sample sample sample'
Re=Listbox(separator2,yscrollcommand=scrollbar.set)
Re.insert(END, i)
Re.pack()
scrollbar.config(command=Re.yview)
separator2.pack(side=TOP, padx=10, pady=10, fill=BOTH)
Button1 = Button(separator1, text=' GET ', font=('Times',
15,'bold'),command=get, bg="wheat2",relief=RAISED)
Button1.pack(anchor=CENTER,pady=5)
separator1.pack(fill=BOTH,side=LEFT, padx=5, pady=5)
separator6.pack(fill=BOTH,side=RIGHT, padx=5, pady=5)
separator3.pack(side=BOTTOM,fill=BOTH,padx=5, pady=5)
master.config(bg='white')
master.title('sample')
mainloop()
要清除框架的内容,其思想是销毁其所有子对象。框架的所有子级都存储在dictionary
frame.children
(格式为{name:widget}){&;可以在cd2>的开头使用分隔符。}时都会创建一个新的{}。所以我把它移到函数之外,用其他的框架。在
separator2
只在get()
内本地定义,这与其他帧的定义不一致,意味着每次运行{以下是修改后的代码:
^{pr2}$相关问题 更多 >
编程相关推荐