Отображается
PY_VAR1
, потому что self.quote
передается в self.quote.set()
. Вместо этого следует использовать quote
.
Чтобы показать только один экземпляр цитаты, нужно создать self.msg
один раз и обновить его текст внутри updateQuote()
через self.quote
.
Также не следует сбрасывать self.quoteNumber
в 1 при каждом запуске updateQuote()
.
def __init__(self):
...
# moved from self.updateQuote()
self.quote = StringVar()
self.msg = Message(self.window, textvariable=self.quote, width=300, font=("Aria",24))
self.msg.pack(side=TOP)
...
# start the quote display
self.updateQuote()
def updateQuote(self, quoteNumber=1):
if quoteNumber <= 10:
quote = "QUOTE" + str(quoteNumber)
self.quote.set(quote) # update self.msg
self.window.after(3000, self.updateQuote, quoteNumber+1)