第一项:背景及说明
第1次点击按钮:返回:e2为空,将执行插入动作
第2次点击按钮:期望是打印出来【我是X + 我是Y】,但实际只打印【我是X】
在点击按钮前,手工先输入值,也取不出来两个值
** 第二项:问题**
Main这个类是单独的,不做任何变动的前提下(重要!)
请问如何调整才能实现,第二次点击时可以打印【我是X + 我是Y】
请帮指出问题,或调整代码均可
import tkinter as tk
class App:
def __init__(self):
self.window = tk.Tk()
self.window.title("main")
self.window.geometry("300x200")
self.labelframe()
self.main = Main()
self.window.mainloop()
def labelframe(self): # 定义组件
lf = tk.LabelFrame(self.window, text="输入/输出")
lf.place(x=20, y=20)
global e1
e1 = tk.Entry(lf, width=20)
e1.grid(row=1, column=2)
e1.insert("insert", "我是X")
global e2
e2 = tk.Entry(lf, width=20)
e2.grid(row=2, column=2)
b = tk.Button(lf, text="get", command=self.start)
b.grid(row=3, column=2)
def insert(self): # 插入
e2.insert("insert", "我是Y")
def start(self): # 按钮命令
if len(e2.get()) == 0:
print("e2为空,将执行插入动作")
self.insert()
else:
print("e2有值,将打印两个值")
self.main.active()
# 第一项:背景及说明
# 第1次点击按钮:返回:e2为空,将执行插入动作
# 第2次点击按钮:期望是打印出来【我是X + 我是Y】,但实际只打印【我是X】
# 在点击按钮前,手工先输入值,也取不出来两个值
# 第二项:问题
# Main这个类是单独的,不做任何变动的前提下(重要!)
# 请问如何调整才能实现,第二次点击时可以打印【我是X + 我是Y】
# 请帮指出问题,或调整代码均可
class Main: # 期望这个类不做改动
def __init__(self):
self.one = e1.get()
self.two = e2.get()
def active(self):
print(self.one)
print(self.two)
App()