Also mache ich eine Anwendung, die Notizen macht (ähnlich Windows Sticky Notes). Da ich mehrere Noten gleichzeitig anzeigen muss, habe ich eine Klasse verwendet, die von Thread erbt und auch ein tkinter-Fenster erstellt. Das Problem ist, dass meine Fenster nicht gleichzeitig öffnen. Die zweite öffnet sich, nachdem die erste geschlossen ist. Hier ist der Code. Was mache ich falsch? Gibt es eine andere Methode, die ich verwenden kann? [Für jetzt bin ich die Anzeige nur Notizen, die ich habe hart codiert.]Wie führe ich mehrere Tkinter-Fenster gleichzeitig in Python aus?
from tkinter import *
from threading import Thread
class Note(Thread):
nid = 0
title = ""
message = ""
def __init__(self, nid, title, message):
Thread.__init__(self)
self.nid = nid
self.title = title
self.message = message
def display_note_gui(self):
'''Tkinter to create a note gui window with parameters '''
window = Tk()
window.title(self.title)
window.geometry("200x200")
window.configure(background="#BAD0EF")
title = Entry(relief=FLAT, bg="#BAD0EF", bd=0)
title.pack(side=TOP)
scrollBar = Scrollbar(window, takefocus=0, width=20)
textArea = Text(window, height=4, width=1000, bg="#BAD0EF", font=("Times", "14"))
scrollBar.pack(side=RIGHT, fill=Y)
textArea.pack(side=LEFT, fill=Y)
scrollBar.config(command=textArea.yview)
textArea.config(yscrollcommand=scrollBar.set)
textArea.insert(END, self.message)
window.mainloop()
def run(self):
self.display_note_gui()
new_note1 = Note(0, "Hello", "Hi, how are you?")
new_note1.start()
new_note1.join()
new_note2 = Note(1, "2", "How's everyone else?")
new_note2.start()
new_note2.join()
Verwenden Sie ein 'Toplevel' Widget? –