Python Tkinter,如何保存从按钮调用的对顶层窗口的引用
我有一个顶级的全功能小部件,我想在按下按钮时打开 我想保留对该实例的引用,以便从中读取变量 我一直在考虑使用mixin类或类似的东西,但如果有更简单的方法,我想先试试。(对编程来说相当陌生) 我已经尝试了下面的两种选择 这一个导致了这个可爱的错误: AttributeError:“函数”对象没有属性“变量”Python Tkinter,如何保存从按钮调用的对顶层窗口的引用,python,callback,tkinter,widget,Python,Callback,Tkinter,Widget,我有一个顶级的全功能小部件,我想在按下按钮时打开 我想保留对该实例的引用,以便从中读取变量 我一直在考虑使用mixin类或类似的东西,但如果有更简单的方法,我想先试试。(对编程来说相当陌生) 我已经尝试了下面的两种选择 这一个导致了这个可爱的错误: AttributeError:“函数”对象没有属性“变量” class addSettings(): self.pidwind=lambda:Gui_pidSelector(gui_base.configBase(root)# Top Lev
class addSettings():
self.pidwind=lambda:Gui_pidSelector(gui_base.configBase(root)# Top Level Reference
ap_button_cfg= dict(cfg_gui, **{'command':self.pidwind})# opens the Window
我尝试过的其他方法是在按下按钮之前打开顶层窗口
如何实现对该窗口的引用 不知何故,我认为要做到这一点一定有一个简单的方法, 我想出了一个解决办法
widget_references={}
def winReferencer(key_name,widget,parent ):
global widget_references
if key_name not in widget_references.keys():
widget_references[key_name]=widget(parent)
but=Button(text='hi mate', command=lambda:winReferencer('my_window',Toplevel,root)).pack()
你的评论毫无意义,因为显而易见的答案是
$my_window=Toplevel(…)
。为什么这对你不起作用?你能给我们一个非常小,功能齐全的应用程序来说明你的问题吗?给它一个按钮来创建一个窗口,这样我们就可以看到你是如何创建它的。我只是想也许有一种方法可以不用函数调用就可以做到这一点。避免函数调用会适得其反。每个按钮都应该调用一个函数。它使代码更易于维护。试图将一堆代码塞进lambda没有任何作用,只会使代码更难维护。谢谢你的帮助,伙计!