поэтому я делаю приложение, которое делает заметки (аналогично Windows Sticky Notes). Так как мне нужно отображать несколько заметок одновременно, я использовал класс, который наследует от Thread, а также создает окно tkinter. Проблема в том, что мои окна не открываются одновременно. Второй открывается после первого закрытия. Вот код. Что я делаю не так? Есть ли другой способ, который я могу использовать? [На данный момент я просто отображение заметок я жестко закодированные.]Как запустить несколько окон tkinter одновременно в Python?
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()
использовать виджет Toplevel? –