我正在构建一个应用程序,并希望将功能(绑定到按钮)生成的输出重定向到页面的第二帧。我无法弄清楚如何从绑定到按钮的函数中获取控制台输出(打印语句)并将其重定向到第二帧。
我的应用是使用类方法构建的,看起来像这样:
class MyApp(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
image = Image.open("wallhaven-47j39o.jpg")
self.background_image = ImageTk.PhotoImage(image)
container = tk.Frame(self)
container.pack(side="top", fill="both", expand = True)
container.grid_rowconfigure(0, weight=1)
container.grid_columnconfigure(0, weight=1)
self.frames = {}
for F in (UserLogin, MainMenu, TestPage, signupPage, ExtractXLSX, Nomenclature, Buffers, AddUsers, RemoveUsers,
DeleteUsers, CreateUsers, ListUserItems):
frame = F(container, self)
self.frames[F] = frame
frame.grid(row=0, column=0, sticky="nsew")
self.show_frame(UserLogin)
def show_frame(self, cont):
frame = self.frames[cont]
frame.configure(background='#e6eeff')
frame.tkraise()
class ListUserItems(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
self.controller = controller
background_label = tk.Label(self, image=controller.background_image)
background_label.image = controller.background_image
background_label.place(x=0, y=0, relwidth=1, relheight=1)
frame2 = Frame(self, bg='white', width=500, height=300, bd=4, relief=RAISED).place(x=400, y=350)
label = tk.Label(self, text="User's items listing", font=('Courier', 18), bg=Background).place(relx=0.30, rely=0.10)
self.user_label = tk.Label(self, text="Nom de l'utilisateur :", bg=Background, font=("Courier", 12))
self.user_label.place(x=330, y=200)
self.user = tk.Entry(self, bg='#abb5c6', font=("Verdana", 10), width=27)
self.user.place(x=540, y=203)
self.execute_button = tk.Button(self, text=" Execute ", width=30, activebackground='blue', command=lambda: list_user_items(self.user.get(), textbox)).place(x=540, y=250)
self.back_button = tk.Button(self, text="Main menu", width=30, activebackground='blue', command=lambda: controller.show_frame(MainMenu)).place(x=540, y=650)
list_user_items函数是一个简单的API函数:
def list_user_items(username):
gis = authentification()
user = gis.users.get(username)
user_items = user.items()
print(user_items)