首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >更新Tkinter中的标签元素

更新Tkinter中的标签元素
EN

Stack Overflow用户
提问于 2017-05-14 07:43:51
回答 1查看 2.9K关注 0票数 3

我有以下代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import tkinter
from random import randint
score = 0
window = tkinter.Tk()

def Validate():
    global score
    answer_string = answer.get()
    try:
        answer_value = int(answer_string)
    except ValueError as e:
        print(e)
        return

if answer_value == number1 * number2:
    score -= 1
    print('True')
    q.pack_forget()
else:
    score += 1
    print('False')
i=0
while i==0:
    number1 = randint(1,12)
    number2 = randint(1,12)
    q = tkinter.Label(window, text="What is " + str(number1) + "x" + str(number2) + " ?")
    q.pack()
    answer = tkinter.Entry(window)
    submit = tkinter.Button(window, text = "Submit", command=Validate)
    answer.pack()
    submit.pack()
    window.mainloop()

我想做的是每次提问时替换Q中的文本。我想要做的是删除验证函数中的Q,然后每次代码循环时重新创建它,但这不起作用。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-14 07:50:39

基本上,您不需要每次迭代创建标签,有几种方法可以在tkinter中更新标签。

例如:

1.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
window = tkinter.Tk()
text = tkinter.StringVar()
text.set('old')
lb = tkinter.Label(window, textvariable=text)
...
text.set('new')

2.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lb = tkinter.Label(window, text="What is " + str(number1) + "x" + str(number2) + " ?")
lb['text'] = 'new'

3.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lb = tkinter.Label(window, text="What is " + str(number1) + "x" + str(number2) + " ?")
lb.config(text='new')
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43965856

复制
相关文章

相似问题

更新tkinter中的标签

13

更新Tkinter标签

15

Tkinter更新标签

25

更新tkinter标签

12

更新tkinter标签

221
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文