首页 > 解决方案 > 如何两次使用相同的标签

问题描述

所以我有一个每隔几秒就会更新一次的标签。我想显示这个标签两次,一个在一个窗口中,另一个在另一个窗口中。我想要它,这样当函数运行时,它会影响两者。如何在不更改函数中的任何内容的情况下实现这一点?提前致谢。

我很抱歉没有提供一个例子,所以我就我的意思做了一个简单的例子。

x = 0
def change():
    global myLabel

    myLabel.config(text=x)
    x += 1


firstWindow = Tk()

myLabel = Label(firstWindow, text="0")
myLabel.pack(padx=5)



secondWindow = Toplevel()

# second myLabel here

myButton = Button(secondWindow, text="Add 1", command=change)
myButton.pack()

mainloop()


标签: pythonuser-interfacetkinter

解决方案


我不认为你想做的事情是可能的,因为据我所知,一个tkinter小部件只能与一个窗口相关联,但是你可以定义两个Label显示相同tkinter变量的 s(并且还定义多个Buttons 来更新它以及,如果你愿意)。

这就是我的意思:

from tkinter import *


firstWindow = Tk()

x = IntVar(value=0)

def change():
    x.set(x.get()+1)

myLabel1 = Label(firstWindow, textvariable=x)
myLabel1.pack(padx=5)

myButton1 = Button(firstWindow, text="Add 1", command=change)
myButton1.pack()

secondWindow = Toplevel(firstWindow)

myLabel2 = Label(secondWindow, textvariable=x)
myLabel2.pack(padx=5)

myButton2 = Button(secondWindow, text="Add 1", command=change)
myButton2.pack()

mainloop()

推荐阅读