用python写一个按钮触发另一个界面显示
时间: 2023-05-29 18:04:53 浏览: 117
这里提供一个使用tkinter库编写的例子,包括两个界面,一个主界面和一个显示界面,点击主界面的按钮可以触发显示界面的显示。
```python
import tkinter as tk
class MainFrame(tk.Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.pack()
self.create_widgets()
def create_widgets(self):
self.btn_show = tk.Button(self, text="显示界面", command=self.show_frame)
self.btn_show.pack(pady=50)
def show_frame(self):
self.master.show_frame(DisplayFrame)
class DisplayFrame(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(pady=50)
self.btn_close = tk.Button(self, text="关闭界面", command=self.close_frame)
self.btn_close.pack()
def close_frame(self):
self.master.show_frame(MainFrame)
class App(tk.Tk):
def __init__(self):
super().__init__()
self.title("按钮触发另一个界面显示")
self.geometry("300x200")
self.frames = {}
self.create_frames()
def create_frames(self):
main_frame = MainFrame(self)
display_frame = DisplayFrame(self)
self.frames[MainFrame] = main_frame
self.frames[DisplayFrame] = display_frame
main_frame.grid(row=0, column=0, sticky="nsew")
display_frame.grid(row=0, column=0, sticky="nsew")
self.show_frame(MainFrame)
def show_frame(self, frame):
self.frames[frame].tkraise()
if __name__ == "__main__":
app = App()
app.mainloop()
```
在这个例子中,主界面中有一个按钮,点击按钮可以触发显示界面的显示。显示界面中有一个标签和一个按钮,点击按钮可以关闭显示界面,回到主界面。
在App类中,我们使用了一个字典来存储所有的frame,使用show_frame方法来切换显示的frame。在MainFrame和DisplayFrame中,我们分别实现了按钮的响应方法,当点击按钮时,会调用App类的show_frame方法来切换显示的界面。
运行程序后,可以看到主界面上有一个“显示界面”的按钮,点击按钮后会切换到显示界面,显示界面中有一个“关闭界面”的按钮,点击按钮后会回到主界面。
阅读全文