python - 如何在 tkinter 窗口中只接受用户输入一分钟
问题描述
import time
from tkinter import *
from tkinter.ttk import *
window = Tk()
e = Entry(window, width=100)
e.pack()
player2 = ""
def get_text():
e.config(state='disabled')
player2 = e.get()
return player2
Button(window, text="done", command=get_text).pack()
t = 60
for x in range(t):
t = t -1
time.sleep(1)
if t == 0:
Label(window, text="Times up").pack()
e.config(state='disabled')
player2 = e.get()
Label(window, text=player2).pack()
window.mainloop()
这是我的代码,但它并没有真正起作用。我想创建一个条目并让用户只输入一分钟的单词,除非按下完成按钮,否则条目值存储在一个名为 player2 的变量中。
解决方案
看看PEP8。要解决您的问题,您需要tkinter的after方法,不鼓励其他所有方法。另请参阅为什么需要将构造与几何方法分开。还有为什么要避免通配符导入。
from tkinter import *
def get_text():
e.config(state='disabled')
my_label.configure(text=e.get())
def after_time():
my_label.configure(text="Times up")#configure instead of new
e.config(state='disabled')
window = Tk()
e = Entry(window, width=100)
e.pack()
my_button = Button(window, text="done", command=get_text)
my_button.pack()
my_label = Label(window, text='..waiting for username..') #seperate construction from geometry
my_label.pack()
window.after(1000, after_time) #after(ms,function)
window.mainloop()
推荐阅读
- c - 同步问题的伪代码(纸牌游戏)
- java - 如何从断开消息中获取目的地?
- android - 需要什么 USE_BIOMETRIC 权限?
- java - 如何实现向对象实例添加值的默认接口方法
- c - 了解 Scaramuzza 提出的用于使鱼眼图像不失真的鱼眼相机模型
- python - 错误:命令“gcc”失败,退出状态为 1 错误
- python - (属性错误:“函数”对象没有属性“visualize_boxes_and_labels_on_image_array”)
- django - 如何查询看起来可统一的字典?
- mysql - MySQL访问被拒绝?
- php - php:使用 PUT curl 确定播放轨道