tkinter打开新窗口
时间: 2023-09-11 13:08:06 浏览: 28
下面是一个简单的示例,演示如何使用Tkinter在点击按钮时打开新窗口:
```
import tkinter as tk
def open_window():
new_window = tk.Toplevel(root)
label = tk.Label(new_window, text="这是一个新窗口!")
label.pack()
root = tk.Tk()
button = tk.Button(root, text="打开新窗口", command=open_window)
button.pack()
root.mainloop()
```
在这个示例中,我们首先定义了一个`open_window`函数,它创建一个新的顶层窗口(`Toplevel`)并在其中添加一个标签。然后,我们创建了一个根窗口(`Tk`)和一个按钮,当用户点击按钮时,`open_window`函数将被调用。这会导致一个新的窗口被打开,并显示一个简单的标签。
相关问题
tkinter按钮打开新窗口
可以通过在按钮的回调函数中创建一个新的窗口来实现打开新窗口的效果。以下是一个简单的例子:
```python
import tkinter as tk
def open_new_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.geometry("200x200")
button = tk.Button(root, text="Open New Window", command=open_new_window)
button.pack()
root.mainloop()
```
在这个例子中,我们创建了一个名为 `open_new_window` 的函数,它创建了一个名为 `new_window` 的新窗口,并在窗口中添加了一个标签。然后,在主窗口中创建了一个按钮,将 `open_new_window` 函数设置为按钮的回调函数。当用户点击按钮时,新窗口就会打开。
注意,我们使用 `Toplevel` 类来创建新窗口,它是一个与 `Tk` 类似的窗口类。在创建新窗口时,我们需要传递主窗口(即 `root`)作为参数,这样新窗口才能正确显示在主窗口上方。
tkinter怎么关闭现有窗口打开新窗口
要关闭现有窗口并打开新窗口,您可以使用以下代码:
```python
import tkinter as tk
class MainWindow(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.pack()
self.create_widgets()
def create_widgets(self):
self.btn_new_window = tk.Button(self, text="打开新窗口", command=self.open_new_window)
self.btn_new_window.pack()
def open_new_window(self):
self.master.destroy()
new_window = tk.Tk()
new_window.geometry("200x200")
new_window.title("新窗口")
app = NewWindow(new_window)
class NewWindow(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.pack()
self.create_widgets()
def create_widgets(self):
self.label = tk.Label(self, text="新窗口已打开!")
self.label.pack()
root = tk.Tk()
root.geometry("200x200")
root.title("主窗口")
app = MainWindow(root)
root.mainloop()
```
在上面的代码中,我们创建了两个类,一个是 `MainWindow`,另一个是 `NewWindow`。当用户单击“打开新窗口”按钮时,`open_new_window` 方法将被调用。该方法首先使用 `self.master.destroy()` 关闭当前窗口,然后创建一个新的 `Tk()` 实例并创建一个新的 `NewWindow` 对象。最后,新窗口将被显示。
请注意,使用 `Tk()` 创建多个窗口并不是最佳做法。相反,您应该使用 `Toplevel()` 创建新窗口。但是,在这个例子中,我们仍然使用 `Tk()` 来演示如何关闭当前窗口并打开新窗口。