【发布时间】:2019-03-31 12:20:51
【问题描述】:
我制作这个基本代码只是为了发送到这里看看我是否能找到解决方案。
我希望代码执行以下操作:当我按下按钮时,它会使用另一个按钮调用另一个类,如果我再次按下该按钮,它将检查该类是否仍在显示,以免添加另一个 X按钮。我的代码供你查看结果,并遵循代码库供读者理解。
from tkinter import *
class Window:
def __init__(self,root):
self.frame = Frame(root)
self.frame.pack(side = LEFT)
self.frame1 = Frame(root)
self.frame1.pack()
self.But = Button(self.frame,text = 'Press', command = self.ButOk)
self.But.pack(side = LEFT,anchor = E)
def ButOk(self):
self.Aux = False
self.Aux = not self.Aux
if self.Aux:
Window1(root)
class Window1:
def __init__(self,root):
self.fram = Frame(root)
self.fram.pack(side = LEFT)
self.fram1 = Frame(root)
self.fram1.pack()
self.But = Button(self.fram, text = 'X',command = self.close)
self.But.pack(side =RIGHT,anchor = W)
def close(self):
self.Aux1 = False
self.Aux1 = not self.Aux1
if self.Aux1:
self.fram.pack_forget()
root=Tk()
Window(root)
root.mainloop()
我希望用户按下按钮时不会生成这个“窗口”。
【问题讨论】:
-
重新思考你的方法,阅读Switch between two frames in tkinter
-
@stovfl:我认为这是个坏建议。为什么切换到更复杂的代码会解决这个问题?
-
也许吧。只要@Giovanni 不评论我的建议,我们就永远不会知道。
标签: python python-3.x tkinter tkinter-layout tkinter-menu