Python 3.x t打开两扇窗户
在进行一些学习python/tkinter的活动时,我遇到了以下问题: -我希望在特定屏幕(1280x720)中进行可见倒计时,但如果从以下代码中删除第10行,则无法使其工作,这将导致第二个窗口打开:Python 3.x t打开两扇窗户,python-3.x,tkinter,Python 3.x,Tkinter,在进行一些学习python/tkinter的活动时,我遇到了以下问题: -我希望在特定屏幕(1280x720)中进行可见倒计时,但如果从以下代码中删除第10行,则无法使其工作,这将导致第二个窗口打开: from future.moves import tkinter top=tkinter.Tk() HEIGHT=720 WIDTH=1280 canvas = tkinter.Canvas(top, height=HEIGHT, width=WIDTH) canvas.pack() class
from future.moves import tkinter
top=tkinter.Tk()
HEIGHT=720
WIDTH=1280
canvas = tkinter.Canvas(top, height=HEIGHT, width=WIDTH)
canvas.pack()
class Tempo(tkinter.Tk):
def __init__(self):
tkinter.Tk.__init__(self)
self.label = tkinter.Label(top,width=10, font="Verdana 12 bold",bg="white")
self.label.place(relwidth=0.18,relheight=0.04,relx=0.5-0.09,rely=0.3-0.02)
self.remaining = 0
self.countdown(10)
def countdown(self, remaining = None):
if remaining is not None:
self.remaining = remaining
if self.remaining <= 0:
self.label.configure(text="time's up!")
else:
self.label.configure(text="%d" % self.remaining)
self.remaining = self.remaining - 1
self.after(1000, self.countdown)
tempo=Tempo()
tempo.countdown()
top.mainloop()
来自future.moves导入tkinter
top=tkinter.Tk()
高度=720
宽度=1280
canvas=tkinter.canvas(顶部,高度=高度,宽度=宽度)
canvas.pack()
课堂节奏(tkinter.Tk):
定义初始化(自):
tkinter.Tk.\uuuuu初始化\uuuuuuuuu(自)
self.label=tkinter.label(顶部,宽度=10,font=“Verdana 12粗体”,bg=“白色”)
self.label.place(relwidth=0.18,relheight=0.04,relx=0.5-0.09,rely=0.3-0.02)
自剩余=0
自我倒计时(10)
def倒计时(自身,剩余=无):
如果剩余值不是无:
自我剩余=剩余
如果self.remaining为什么要调用倒计时()两次?top
和tempo
都是Tk()
的实例,所以有两个窗口。您可以使用Tempo
类来扩展tkinter.Frame
而不是tkinter.Tk
。谢谢@coderoftheday。这是一个新手的错误,现在我明白了为什么倒计时要快一倍。谢谢@acw1668。它解决了我的双窗口问题。你真的帮了大忙。