如何通过按钮调用Tkinter生成彼此独立的新GUI窗口?
解决Tkinter点击按钮生成多个独立新窗口的问题
你的代码里存在一个明显错误:testt()函数里的root()是无效调用,root已经是Tk()创建的主窗口实例,不能直接当作函数来调用。要实现点击按钮生成独立新窗口的效果,应该用Tkinter的Toplevel组件,它专门用来创建独立于主窗口的子窗口,每个子窗口都可以单独操作,不会互相影响。
修正后的完整代码如下:
import tkinter as tk root = tk.Tk() root.title("主窗口") def create_new_window(): # 生成新的独立窗口 new_window = tk.Toplevel(root) new_window.title("新窗口") # 给新窗口添加示例内容 tk.Label(new_window, text="这是一个独立的新窗口").pack(padx=30, pady=30) # 创建触发按钮 tk.Button(root, text='window +', command=create_new_window).pack(padx=50, pady=25) root.mainloop()
关键说明:
Toplevel是Tkinter中用于创建子窗口的组件,每次调用tk.Toplevel()都会生成一个全新的独立窗口。- 每个新窗口都可以设置自己的标题、添加专属组件,关闭单个子窗口不会影响主窗口和其他子窗口。
- 原代码中直接调用
root()的写法完全错误,因为root是已经实例化的对象,不是构造函数,不能重复调用。
内容的提问来源于stack exchange,提问作者SonyaCoo
相关产品推荐
相关产品推荐

