如何在tkinter python 3.7中打开与原始窗口功能相同的新窗口?
我正在tkinter python v3.7中编写代码,我想打开一个新窗口,它具有与原始窗口相同的功能。我该怎么做 在搜索解决方案时,我遇到了命名Toplevel的函数,它创建了新的tkinter窗口。但这个新窗口是全新的,它没有原始窗口中提供的功能(按钮、几何尺寸)如何在tkinter python 3.7中打开与原始窗口功能相同的新窗口?,python,python-3.x,tkinter,python-3.7,Python,Python 3.x,Tkinter,Python 3.7,我正在tkinter python v3.7中编写代码,我想打开一个新窗口,它具有与原始窗口相同的功能。我该怎么做 在搜索解决方案时,我遇到了命名Toplevel的函数,它创建了新的tkinter窗口。但这个新窗口是全新的,它没有原始窗口中提供的功能(按钮、几何尺寸) from tkinter import * class TextPad: def new_window(self): top = Toplevel() def __init__(self, ma
from tkinter import *
class TextPad:
def new_window(self):
top = Toplevel()
def __init__(self, master):
master.title('Text Pad')
master.geometry('400x400')
self.button = Button(master, text='Press',
command=self.new_window)
self.button.pack()
root = Tk()
t = TextPad(root)
root.mainloop()
我的原始窗口的几何尺寸为“400x400”,并且有“按钮”,我想打开一个具有此功能的新窗口。我假设您同时需要两个(或更多)窗口
如果需要相同的窗口,请再次使用TextPad()
但是这次使用Toplevel()
而不是Tk()
不要运行第二个mainloop()
如果您想用新窗口替换第一个窗口(只有一个窗口),则必须销毁旧窗口,然后使用
TextPad()
和Tk()
和mainloop()创建新窗口
但是它需要使用self.master
而不是master
来访问方法new\u窗口中的master
from tkinter import *
class TextPad:
def new_window(self):
self.master.destroy()
root = Tk()
t = TextPad(root)
root.mainloop()
def __init__(self, master):
self.master = master
self.master.title('Text Pad')
self.master.geometry('400x400')
self.button = Button(self.master, text='Press',
command=self.new_window)
self.button.pack()
root = Tk()
t = TextPad(root)
root.mainloop()
TextPad(Toplevel())
。如果您想要相同的窗口,则必须再次使用TextPad()
,但这样就可以使用Toplevel()
而不是Tk()
from tkinter import *
class TextPad:
def new_window(self):
self.master.destroy()
root = Tk()
t = TextPad(root)
root.mainloop()
def __init__(self, master):
self.master = master
self.master.title('Text Pad')
self.master.geometry('400x400')
self.button = Button(self.master, text='Press',
command=self.new_window)
self.button.pack()
root = Tk()
t = TextPad(root)
root.mainloop()