簡體   English   中英

我如何讓 time.sleep() 與 tkinter 一起工作?

[英]How do I make time.sleep() work with tkinter?

我正在嘗試定期在屏幕上顯示一系列數字。

我是新來的蟒蛇,因此它可能是一些顯而易見的,但我已經嘗試了.afterpygame.time.wait ,但既不工作。

這是代碼:

from tkinter import*
from random import *
import time



my_list = []




def Create_NUM(event):
    x = 0

    for x in range(level + 2):
        button1.destroy()
        num = randint(1, 100)
        my_list.append(num)
        Label(root, text=num,fg="red").pack()
        one.pack()
        time.sleep(2)





root=Tk()

num = 0
level = 1
bottomFrame = Frame(root)
bottomFrame.pack(side=BOTTOM)

button1 = Button(bottomFrame, text="Click to start game",fg="red")
button1.bind("<Button-1>", Create_NUM)
button1.pack()



root.mainloop()

我假設您想顯示新號碼代替舊號碼,而不是在舊號碼下方。

import tkinter as tk
import random

def start():
    # hide button
    button.pack_forget()
    # run `add_number` first time
    add_number(level+2)

def add_number(x):

    num = random.randint(1, 100)
    my_list.append(num)
    label['text'] = num

    if x > 0:
        # repeat after 2000ms (2s)
        root.after(2000, add_number, x-1)
    else:
        # show button again after the end
        button.pack()      

# --- main ---

my_list = []
level = 1

root = tk.Tk()

label = tk.Label(root)
label.pack()

button = tk.Button(root, text="Click to start game", command=start)
button.pack()

root.mainloop()

只需在您的函數root.update()使用這個簡單的命令

暫無
暫無

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

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