Ich habe ein Problem, wenn ich ein sekundäres Fenster öffne. Jetzt erstelle ich nur ein Toplevel-Fenster mit einer Schaltfläche und ich muss das gleiche sekundäre Fenster öffnen, wenn ich auf die Schaltfläche klicke (keine neue Instanz erzeugen).Offenes einzigartiges sekundäres Fenster mit Tkinter
Welcher ist der bessere Weg, um ein einzelnes sekundäres Fenster zu generieren und keine neue Fensterinstanz zu generieren?
lasse ich den Code, den ich eigentlich arbeiten:
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()
Vielleicht brauche ich eine einzelne Instanz einer Toplevel-Klasse und Call-Show haben und in der Nähe des sekundären Fenster anzuzeigen oder auszublenden.
Was genau hast du? – furas
'remove()' zum Ausblenden, 'deiconify()' zum Anzeigen, 'focus_set()' zum Setzen des Fokus. – TigerhawkT3
@furas Ich möchte eine einzelne Instanz eines sekundären Fensters haben, das ich schließen und wieder öffnen kann, und kein neues erzeugen, wenn ich auf das offene Fenster klicke. –