tkinter 多窗口
时间: 2023-09-14 17:08:45 浏览: 42
在 tkinter 中创建多个窗口,可以使用 Toplevel() 方法来创建新的窗口。下面是一个示例代码:
```python
import tkinter as tk
def create_window():
new_window = tk.Toplevel(root)
new_window.title("New Window")
new_window.geometry("200x200")
label = tk.Label(new_window, text="This is a new window")
label.pack()
root = tk.Tk()
root.title("Main Window")
root.geometry("200x200")
button = tk.Button(root, text="Create new window", command=create_window)
button.pack()
root.mainloop()
```
在这个例子中,我们首先创建了一个主窗口,并在其中放置了一个按钮。当用户点击按钮时,create_window() 函数将被调用,它会创建一个新的窗口,并在其中放置一个标签。注意,新窗口是通过 Toplevel() 方法创建的。
相关问题
tkinter多窗口跳转
在Tkinter中实现多窗口跳转可以使用`Toplevel`组件创建新窗口,并使用`withdraw()`方法隐藏当前窗口。当需要返回到上一个窗口时,使用`deiconify()`方法重新显示上一个窗口。
下面是一个简单的示例代码:
```python
import tkinter as tk
def open_window():
window1.withdraw()
window2.deiconify()
def back_to_window1():
window2.withdraw()
window1.deiconify()
# 创建窗口1
window1 = tk.Tk()
window1.title("窗口1")
window1.geometry("200x100")
# 创建窗口2
window2 = tk.Toplevel()
window2.title("窗口2")
window2.geometry("200x100")
window2.withdraw()
# 添加按钮
btn1 = tk.Button(window1, text="打开窗口2", command=open_window)
btn1.pack()
btn2 = tk.Button(window2, text="返回窗口1", command=back_to_window1)
btn2.pack()
window1.mainloop()
```
在上面的代码中,我们创建了两个窗口`window1`和`window2`,并通过`withdraw()`方法将`window2`隐藏。当点击`window1`中的按钮时,调用`open_window()`函数将`window1`隐藏,显示`window2`。当在`window2`中点击返回按钮时,调用`back_to_window1()`函数将`window2`隐藏,重新显示`window1`窗口。
tkinter多窗口切换
在Tkinter中,我们可以使用Toplevel小部件来创建多个窗口。要在多个窗口之间进行切换,我们可以使用`lift()`方法将窗口提升到最前面。
以下是一个例子,演示如何在两个窗口之间进行切换:
```python
import tkinter as tk
class MainWindow(tk.Tk):
def __init__(self):
super().__init__()
self.title("Main Window")
self.geometry("200x100")
tk.Button(self, text="Open Window", command=self.open_window).pack(pady=10)
def open_window(self):
new_window = tk.Toplevel(self)
new_window.title("New Window")
new_window.geometry("200x100")
tk.Label(new_window, text="This is a new window!").pack(pady=10)
tk.Button(new_window, text="Switch to Main Window", command=self.switch_to_main).pack(pady=10)
def switch_to_main(self):
self.lift()
if __name__ == "__main__":
app = MainWindow()
app.mainloop()
```
在这个例子中,我们创建了一个主窗口并在其中放置了一个按钮。当用户点击该按钮时,会打开一个新的窗口。这个新的窗口中包含一个标签和一个按钮。当用户点击新窗口中的按钮时,我们通过`lift()`方法将主窗口提升到最前面。
你可以根据需要调整窗口的大小、位置和内容,以满足你的具体要求。