我想在Tkinter窗口中显示文本文件中的某些行。在显示该行之后,Tkinter窗口消失,再次返回并显示文件中的下一行,窗口消失并再次重复该过程,直到脚本停止。
到目前为止,我编写的脚本同时显示文件中的所有行,消失并再次出现,重复相同的过程,直到脚本为stopped.Here是代码:
import Tkinter as Tk
import time
class Window:
def __init__(self):
self.root = None
self.hide = 10 #minutes
self.show = 10 #seconds
def close(self):
self.root.destroy()
return
def new(self):
fh=open('subliminal.txt')
lines = fh.read().splitlines()
self.root = Tk.Tk()
for line in lines:
Tk.Button(self.root, text= line, command='callback').pack()
self.root.after(self.show*1000, self.loop)
def loop(self):
if self.root:
self.root.destroy()
time.sleep(self.hide)
self.new()
self.root.mainloop()
return
Window().loop()这个脚本是用Python2编写的,但我也愿意在另一个GUI中这样做,因为它是轻量级的。
谢谢,这对我很有效:
import Tkinter as Tk
import time
class Window:
def __init__(self):
self.root = None
self.hide = 10 #minutes
self.show = 10 #seconds
def close(self):
self.root.destroy()
return
def new(self):
fh=open('subliminal.txt')
lines = fh.read().splitlines()
for line in lines:
self.root = Tk.Tk()
Tk.Button(self.root, text= line, command='callback').pack()
self.root.update()
time.sleep(5)
self.root.destroy()
def loop(self):
self.new()
self.root.mainloop()
self.loop()
return
Window().loop()发布于 2017-02-02 02:48:06
我相信这可能就是你要找的:
import tkinter as Tk
import time
class Window:
def __init__(self):
self.root = None
self.hide = 10 #minutes
self.show = 10 #seconds
def close(self):
self.root.destroy()
return
def new(self):
fh=open('subliminal.txt')
lines = fh.read().splitlines()
for line in lines:
self.root = Tk.Tk()
Tk.Button(self.root, text= line, command='callback').pack()
self.root.update()
time.sleep(5)
#self.root.mainloop()
self.root.destroy()
def loop(self):
#if self.root:
#self.root.destroy()
#time.sleep(self.hide)
self.new()
#self.root.mainloop()
return
Window().loop()当我运行它时,它用第一行创建一个窗口,持续5秒,然后用下一行创建一个新窗口,依此类推。您可能希望包含关闭检查,因为由于使用update()而不是mainloop(),退出按钮将不起作用。
https://stackoverflow.com/questions/41986740
复制相似问题