tkinter第二页显示两行的原因
import tkinter as tkimport os
win=tk.Tk()
win.title("实验")
win.geometry("800x700")
var = tk.StringVar()
def hit_zhang():
for widget in win.winfo_children():
widget.destroy()
lzhang = tk.Label(win,text="张三",bg="green",font=("宋体",48),width=15,height=1)
lzhang.pack()
def hit_wang():
for widget in win.winfo_children():
widget.destroy()
lwang = tk.Label(win, text="王二", bg="green", font=("宋体", 48), width=15, height=1)
lwang.pack()
bzhang = tk.Button(win,text="张三",font=("宋体",48),width=15,height=1,command=hit_zhang)
bzhang.pack()
bwang = tk.Button(win,text="王二",font=("宋体",48),width=15,height=1,command=hit_wang)
bwang.pack()
win.mainloop()
想创建一个button,可以使第二页开头显示人名,下面创建内容,但是不知为何点击后第二页出现两行人名,请教,请教………… 本帖最后由 Twilight6 于 2020-4-29 22:45 编辑
撤回{:10_266:} {:10_245:}新人,能说点通俗的吗{:10_250:} zhudaming120 发表于 2020-4-29 22:53
新人,能说点通俗的吗
不是 我意思是我刚刚删了之前发的{:10_284:} zhudaming120 发表于 2020-4-29 22:53
新人,能说点通俗的吗
你看看。。。我瞎搞出来了
import tkinter as tk
import os
win=tk.Tk()
win.title("实验")
win.geometry("800x700")
var = tk.StringVar()
def hit_zhang():
for widget in win.winfo_children():
widget.destroy()
lzhang = tk.Label(win,text="张三",bg="green",font=("宋体",48),width=15,height=1)
lzhang.pack()
bwang.destroy()
break
def hit_wang():
for widget in win.winfo_children():
widget.destroy()
lwang = tk.Label(win,text="王二", bg="green", font=("宋体", 48), width=15, height=1)
lwang.pack()
bwang.destroy()
break
bzhang = tk.Button(win,text="张三",font=("宋体",48),width=15,height=1,command=hit_zhang)
bzhang.pack()
bwang = tk.Button(win,text="王二",font=("宋体",48),width=15,height=1,command=hit_wang)
bwang.pack()
win.mainloop() 结果是达到了,谢了。但是想问下
for widget in win.winfo_children():
widget.destroy()
不是删除了所有的东西吗?为什么在后面还要加入
bwang.destroy()
break
还有break的意义是啥
有点不填明白呢{:10_266:} zhudaming120 发表于 2020-4-29 23:18
结果是达到了,谢了。但是想问下
for widget in win.winfo_children():
widget.destroy()
我其实刚刚接触tkinter,还没学到你这,所以winfo_children()我这看不懂...其他都还好,
我在for循环下面试着加了
print(widget)
发现有两个按钮的id,所以我肯定了for这边肯定循环两次了,我就想如果末尾加个break就循环一次应该可行把。然后加上break后再次run,发现少了个张三的LB,但是多了王二的按钮,然后我就试试销毁王二按钮就成功了。。。同理另一个。。。我这样是不是太暴力了 zhudaming120 发表于 2020-4-29 23:18
结果是达到了,谢了。但是想问下
for widget in win.winfo_children():
widget.destroy()
如果可以的话,给个最佳答案呗嘿嘿,虽然答案有些懵哈哈{:10_254:}
页:
[1]