代码如下:
import tkinter
windows_top = tkinter.Tk()
windows_top.title("aaa")
windows_top.geometry('200x200+400+100')
class move_a(object):
def __init__(self):
self.scale_in = tkinter.Entry(windows_top)
self.scale_in.place(x=20,y=20)
tkinter.Button(windows_top, text='确定',command=self.num_hat).place(x=86,y=85)
self.num_hat()
print('值是:',self)
def num_hat(self):
self.a = self.scale_in.get()
print(self.a)
return self.a
def run(self):
windows_top.mainloop()
if __name__=="__main__":
app = move_a()
app.run()
目前的返回结果是:先打印出
值是:
然后才出现tkinter窗口。
不知道说清楚了吗。
你要做什么效果?
Entry文本框初始时是没有内容的,用self.scale_in.get()获取的是空字符串, 你可以用Entry 的textvariable 属性将一个 StringVar 变量与Entry 内容关联。
就可以直接用StringVar 变量获取文本框输入的内容了
你题目的解答代码如下:
import tkinter
windows_top = tkinter.Tk()
windows_top.title("aaa")
windows_top.geometry('200x200+400+100')
class move_a(object):
def __init__(self):
self.a = tkinter.StringVar()
self.a.set("默认值")
self.scale_in = tkinter.Entry(windows_top,textvariable=self.a)
self.scale_in.place(x=20,y=20)
tkinter.Button(windows_top, text='确定',command=self.num_hat).place(x=86,y=85)
print('值是:',self.a.get())
def num_hat(self):
print(self.a.get())
return self.a.get()
def run(self):
windows_top.mainloop()
if __name__=="__main__":
app = move_a()
app.run()
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!