我使用python语言写了一个gui的代码,我在第一个窗口建立了一个Entry和两个按钮,当我按下第一个按钮的时候,我在Entry写入的字符串会被保存,然后我再按下第二个按钮的时候会再次生成一个窗口,这个字符串则会显示在第二个窗口
时间: 2024-02-24 17:55:44 浏览: 52
python写的窗口
3星 · 编辑精心推荐
好的,你的问题是如何在第二个窗口中显示第一个窗口中输入的字符串。你可以在第一个窗口的按钮回调函数中将输入的字符串保存到一个变量中,然后在第二个窗口中使用该变量来设置一个标签或文本框的值,来显示该字符串。
以下是一个简单的示例代码,可以帮助你实现这个功能:
```python
import tkinter as tk
class FirstWindow:
def __init__(self, master):
self.master = master
self.entry_var = tk.StringVar()
tk.Label(master, text="Enter a string:").pack()
self.entry = tk.Entry(master, textvariable=self.entry_var)
self.entry.pack()
tk.Button(master, text="Save", command=self.save_string).pack()
tk.Button(master, text="Show in Second Window", command=self.show_in_second_window).pack()
def save_string(self):
self.string_var = self.entry_var.get()
def show_in_second_window(self):
SecondWindow(self.master, self.string_var)
class SecondWindow:
def __init__(self, master, string_var):
self.master = master
self.string_var = string_var
tk.Label(master, text="String from first window: ").pack()
tk.Label(master, text=self.string_var).pack()
if __name__ == '__main__':
root = tk.Tk()
FirstWindow(root)
root.mainloop()
```
在这个示例代码中,我们创建了两个窗口类 `FirstWindow` 和 `SecondWindow`。在 `FirstWindow` 中,我们创建了一个 `Entry` 和两个按钮,分别用于保存输入的字符串和在第二个窗口中显示该字符串。在第一个按钮的回调函数中,我们将输入的字符串保存到了 `string_var` 变量中。在第二个按钮的回调函数中,我们创建了一个 `SecondWindow` 实例,并将 `string_var` 作为参数传递给了该实例。
在 `SecondWindow` 中,我们创建了一个标签,用于显示从第一个窗口传递过来的字符串。我们将该字符串显示在了该标签的文本中。
你可以根据你的需求修改这个示例代码,并将其集成到你的项目中。
阅读全文