Python中点击一个按钮显示新的窗口,原本的窗口隐藏,在新的窗口中点击按钮,需要回到原本的窗口,这两个窗口分别由两个类实现,实现以前功能的代码
时间: 2024-12-14 13:26:52 浏览: 15
在Python中,通常我们会使用Tkinter库来创建GUI应用,并且可以结合类的方式来管理窗口。这里是一个简化的示例,展示如何创建两个独立的窗口,每个窗口都有各自的类,通过事件驱动的方式切换窗口:
```python
import tkinter as tk
class Window1:
def __init__(self, root):
self.new_window = NewWindow(root)
def show_new_window(self):
self.new_window.deiconify() # 显示新窗口
self.withdraw() # 隐藏当前窗口
class NewWindow:
def __init__(self, parent):
self.window = tk.Toplevel(parent) # 创建一个新的顶级窗口
button = tk.Button(self.window, text="返回原窗口", command=self.close_and_return)
button.pack()
def close_and_return(self):
self.window.destroy() # 关闭新窗口
parent_window = self.parent # 获取新窗口的父窗口
parent_window.deiconify() # 显示原窗口
parent_window.focus_set() # 将焦点重新设置到原窗口
# 主程序
root = tk.Tk()
window1 = Window1(root)
button1 = tk.Button(window1.window, text="打开新窗口", command=window1.show_new_window)
button1.pack()
root.mainloop()
```
在这个例子中,`Window1` 类有一个 `new_window` 属性,它实际上是另一个 `NewWindow` 类的对象。当你点击 "打开新窗口" 按钮时,会创建并显示 `NewWindow`,然后关闭 `Window1`。在 `NewWindow` 中,点击 "返回原窗口" 会销毁新窗口并恢复 `Window1` 的可见状态。
阅读全文