我试图从文本小部件中获取用户输入并将其存储在变量中,以供以后在我的代码中使用
self.dataset = Text(master)
self.dataset.pack()
self.data = self.dataset.get('1.0', 'end')
ttk.Button(master, text="print dataset", command=lambda: print(self.data).pack()
当我尝试按下按钮时,它会打印一个空字符串。任何想法为什么会这样?
Bryan的评论是正确的,您将非常非常快地获取数据,然后从此再也不会对其进行更新。要解决它,由于以后需要引用它,因此需要使用一些可以使用的东西set
,例如tkinter StringVar
;然后您的按钮命令可以变成
lambda: self.data.set(self.dataset.get('1.0','end'))
另外,由于此代码显然来自类,因此您始终可以在函数中设置数据:
def setdata(self):
self.data = self.dataset.get('1.0','end')
您获取该数据的按钮仅具有self.setdata命令;您可以保留当前按钮,它应该会打印出现在获得的数据集。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句