Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 根据另一tkinter帧中的事件动态更改标签文本_Python 3.x_Tkinter_Dynamic_Label_Frames - Fatal编程技术网

Python 3.x 根据另一tkinter帧中的事件动态更改标签文本

Python 3.x 根据另一tkinter帧中的事件动态更改标签文本,python-3.x,tkinter,dynamic,label,frames,Python 3.x,Tkinter,Dynamic,Label,Frames,我正在尝试从一个帧到另一个帧动态更改标签的文本。两个帧都位于对象类的实例内。 这不是我的实际问题,但它说明了原则。 如何从app.frame1.button1.click访问app.frame0.label1.text? (我知道这不是正确的语法) 先谢谢你 从tkinter导入* txt=‘嗨’ def change(): #这个想法是在这里放一些代码来更改frame0-label1-text 通过 HST(Tk)级: 定义初始化(self,*args,**kwargs): Tk.\uuuuu

我正在尝试从一个帧到另一个帧动态更改标签的文本。两个帧都位于对象类的实例内。 这不是我的实际问题,但它说明了原则。 如何从app.frame1.button1.click访问app.frame0.label1.text? (我知道这不是正确的语法) 先谢谢你

从tkinter导入*
txt=‘嗨’
def change():
#这个想法是在这里放一些代码来更改frame0-label1-text
通过
HST(Tk)级:
定义初始化(self,*args,**kwargs):
Tk.\uuuuu初始值(self,*args,**kwargs)
frame0=帧(自身)
frame0.grid(行=0,列=0)
label1=标签(框架0,文本=txt,宽度=20,高度=5)
标签1.网格(行=0,列=0)
frame1=帧(自身)
frame1.grid(行=1,列=0)
button1=按钮(框架1,文本='Click',宽度=20,高度=5,命令=change)
按钮1.网格(行=0,列=1)
app=HST()
app.mainloop()

设法解决了我自己的问题!把问题摆出来向别人解释通常是有帮助的。使用StringVar修改代码

从tkinter导入*
def change():
app.txt.set('hello')#添加
通过
HST(Tk)级:
定义初始化(self,*args,**kwargs):
Tk.\uuuuu初始值(self,*args,**kwargs)
self.txt=StringVar()#已添加
frame0=帧(自身)
frame0.grid(行=0,列=0)
label1=Label(frame0,textvariable=self.txt,width=20,height=5)#更改为使用StringVar
标签1.网格(行=0,列=0)
frame1=帧(自身)
frame1.grid(行=1,列=0)
button1=按钮(框架1,文本='Click',宽度=20,高度=5,命令=change)
按钮1.网格(行=0,列=1)
app=HST()
app.txt.set('Hi')#添加以替换原始行txt='Hi'
app.mainloop()