0
我在打开辅助窗口时遇到了麻烦。现在我只是用按钮创建顶层窗口,我需要打开相同的辅助窗口如果我单击按钮(不生成新的实例)。用Tkinter打开唯一的辅助窗口
哪个更好的方法来生成单个辅助窗口并且不生成新的窗口实例?
我离开那个我实际工作的代码:
import tkinter
class LogWindow():
def __init__(self, parent):
self.parent = parent
self.frame = tkinter.Frame(self.parent)
class MainWindow(tkinter.Frame):
def __init__(self, parent):
tkinter.Frame.__init__(self, parent)
self.parent = parent
frame = tkinter.Frame(self, borderwidth=1)
frame.pack(fill=tkinter.BOTH, expand=True, padx=5, pady=5)
self.LogButton = tkinter.Button(frame, text="Log Viewer", command= self.openLogWindow)
self.LogButton.grid(sticky=tkinter.E+tkinter.W)
self.pack(fill=tkinter.BOTH,expand=True)
def openLogWindow(self):
self.logWindow = tkinter.Toplevel(self.parent)
self.app = LogWindow(self.logWindow)
def main():
global app, stopRead
root = tkinter.Tk()
root.geometry("300x300")
app = MainWindow(root)
root.mainloop()
if __name__ == '__main__':
main()
也许我需要有一个Toplevel的类和呼叫显示一个实例,并关闭显示或隐藏的辅助窗口。
你有什么烦恼? – furas
'撤回()'隐藏,'deiconify()'显示,'focus_set()'设置焦点。 – TigerhawkT3
@furas我想要一个辅助窗口的单个实例,我可以关闭并重新打开,并且当我单击打开的窗口时不会生成一个新窗口。 –