首页 > 解决方案 > 想在 tkinter gui 窗口中创建两个标签并显示连续计数值:

问题描述

我已经编写了一个代码,它的工作和窗口弹出了两个标签,但值没有增加::我对 python 很陌生,请帮我解决......提前谢谢..

import Tkinter
import time
root = Tkinter.Tk()
var  = Tkinter.IntVar()
var1 = Tkinter.IntVar()
label1 = Tkinter.Label(root, textvariable=var)
label2 = Tkinter.Label(root, textvariable=var1)
root.geometry("200x200")
label1.pack()
label2.pack()
def function():
    while 1:
        i=0
        j=0
        i += 1
        var.set(i)
        #time.sleep(1)
        var1.set(j)
        j += 1
        root.update()
        #time.sleep(1)

root.after(10, function)
root.update()
root.mainloop()

标签: python-2.7variablestkinter

解决方案


您是否希望您的计数器随着时间的推移而自动递增?如果是,最简单的解决方案是after在您的末尾重用该方法function()

import Tkinter as tk

def function():
    var1.set(var1.get()+1)
    var2.set(var2.get()+1)
    root.after(100, function)

root = tk.Tk()
root.geometry("200x200")
var1 = tk.IntVar()
var2 = tk.IntVar()
label1 = tk.Label(root, textvariable=var1)
label2 = tk.Label(root, textvariable=var2)
label1.pack()
label2.pack()
root.after(10, function)
root.mainloop()

推荐阅读