【发布时间】:2019-06-16 04:47:12
【问题描述】:
我正在使用 Tkinter 制作一个 GUI,并且需要知道哪个框架在顶部,因此其中一个降低的框架不会进入其循环之一并更改一些设置。
我已经试过了
self.tk.eval('frame stackorder '+str(self.frames["StartPage"])+' isabove '+str(self.frames["Wallpaper"]))=='1'
self 是我的根(它的一个类)并得到这个错误
_tkinter.TclError: bad window path name "stackorder"
还有
self.tk.eval('wm stackorder '+str(self.frames["StartPage"])
给我这个错误:
_tkinter.TclError: window ".!frame.!startpage" isn't a top-level window
这是我在帧之间创建和更改的方式
self.frames = {}
for F in (StartPage, PageOne, PageTwo):
page_name = F.__name__
frame = F(parent=container, controller=self)
self.frames[page_name] = frame
# put all of the pages in the same location;
# the one on the top of the stacking order
# will be the one that is visible.
frame.grid(row=0, column=0, sticky="nsew")
self.show_frame("StartPage")
def show_frame(self, page_name):
'''Show a frame for the given page name'''
frame = self.frames[page_name]
frame.tkraise()
我从这里(Switch between two frames in tkinter)采取了改变框架的方式,但不知道如何知道哪个在上面。
【问题讨论】:
标签: python python-3.x tkinter