簡體   English   中英

Python 3.4 tkinter按鈕

[英]Python 3.4 tkinter button

我的程序應銷毀btn1並在循環一秒鍾后再次創建它。 我沒有為什么,但是我的程序只會銷毀btn1並且不再顯示。 有人知道為什么嗎?

from tkinter import *
import random

def hide():
    btn1.destroy()
    btn1.after(2000,hide)

def show():
    btn1 = Button(root, bd=c, text="Hello\nWorld", relief="ridge", cursor="trek")
    btn1.grid(row=0,column=0)
    btn1.after(3000,show)

root = Tk()

root.geometry("350x150+400+400")

c=random.randint(20,40)

btn1 = Button(root, bd=c, text="Hello\nWorld", relief="ridge", cursor="trek")
btn1.grid(row=0,column=0)

btn1.after(2000,hide)
btn1.after(3000,show)

root.mainloop() 

如果您使用grid_forget而不是每次都創建一個新對象,它將起作用。 請注意,以6秒的倍數(2000 X 3000)會發生什么,取決於要執行的最后一個。

def hide():
    btn1.grid_forget()
    btn1.after(2000,hide)

def show():
    btn1.grid(row=0,column=0)
    btn1.after(3000,show)

root = Tk()

root.geometry("350x150+400+400")

c=random.randint(20,40)

btn1 = Button(root, bd=c, text="Hello\nWorld",
              relief="ridge", cursor="trek")
btn1.grid(row=0,column=0)

btn1.after(2000,hide)
btn1.after(3000,show)

root.mainloop()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM