【发布时间】:2020-01-09 12:18:09
【问题描述】:
Python 程序循环调用 tkinter 函数来创建 GUI 窗口。理想情况下,每个窗口都会在控制权从 tkinter 函数传回主 Python 序列之前被销毁,以便在下一次循环时可以在清晰的屏幕上创建一个新窗口。相反,所有已创建的窗口都保留在屏幕上,直到 Python 循环完成,此时所有窗口都被销毁。有没有办法管理事件循环以强制每个窗口在从 tkinter 函数返回之前被销毁? (我知道隐藏问题的一种方法是定义窗口的精确 x,y 位置,以便每个后续窗口都覆盖其前任窗口,但这只是一个表面修复。我想知道如何纠正根本问题。)Python 3.5,macOS
import os
from tkinter import *
from tkinter.ttk import *
def display(text):
alert = Tk()
alert.geometry('370x200')
var = StringVar()
var.set(text)
message = Label(alert, textvariable = var, font=('arial',20)).pack(pady=20)
okButton = Button(alert, text = 'OK', command = alert.destroy).place(x=225,y=100)
alert.mainloop()
days = [ 'Mon', 'Tue', 'Wed' ]
for day in days:
message = "Today is " + day
display(message)
【问题讨论】:
标签: python-3.x tkinter