时间延迟 Tkinter [英] Time delay Tkinter

查看:51
本文介绍了时间延迟 Tkinter的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在 PyDev (Eclipse) python 2.75 中制作一个图形窗口.

I'd like to make a graphic window in PyDev (Eclipse) python 2.75.

我做了几件事,但我想做一个入口"眨眼".它是测试用户输入.如果它是一个整数,它应该闪烁绿色一秒钟,然后变成白色.但如果它是一串其他东西,它应该闪烁红色,然后变成白色.我使用了 time.sleep() 但它不能像我想的那样工作.

I've done few things but I'd like to make an "entrance" "blink". It's Tests the user input. If it's an integer it should blink green for a second, and then turn into white. But if it's a string of something else it should blink red, and then turn into white. I've used a time.sleep() but it doesn't work as I'd like to.

这是我执行此操作的代码:

Here is my code for this action:

def sprawdzam():

    z = e.get()
    try:
        z = int(z)
        e.config(bg = 'green')
        time.sleep(2)
        e.config(bg = 'white')    

    except:
        l.config(bg = 'red')
        time.sleep(2)
        e.config(bg = 'white')

推荐答案

time.sleep 阻止程序的执行.

使用after.

例如:

from Tkinter import *

def blink():
    e.config(bg='green')
    e.after(1000, lambda: e.config(bg='white')) # after 1000ms

root = Tk()
e = Entry(root)
e.pack()
b = Button(root, text='blink', command=blink)
b.pack()
root.mainloop()

这篇关于时间延迟 Tkinter的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆