Tworzę niektóre okna dialogowe za pomocą TkInter i muszę mieć możliwość otwarcia podmenu podrzędnego (modalnego lub niemodalnego) po kliknięciu przycisku w obiekcie nadrzędnym. Wówczas dziecko umożliwiłoby utworzenie rekordu danych, a te dane (albo rekord lub jeśli operacja została anulowana) muszą zostać przekazane z powrotem do okna macierzystego. Do tej pory mam:Jak stworzyć okno potomne i komunikować się z rodzicem w TkInter
import sel_company_dlg
from Tkinter import Tk
def main():
root = Tk()
myCmp = sel_company_dlg.SelCompanyDlg(root)
root.mainloop()
if __name__ == '__main__':
main()
To wywołuje okno dialogowe najwyższego poziomu, które pozwala użytkownikowi wybrać firmę. Okno wyboru firma wygląda następująco:
class SelCompanyDlg(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
self.parent_ = parent
self.frame_ = Frame(self.parent_)
// .. more init stuff ..
self.btNew_ = Button(self.frame_, text="New ...", command=self.onNew)
def onNew(self):
root = Toplevel()
myCmp = company_dlg.CompanyDlg(root)
Po kliknięciu na przycisk ... Nowy, zostanie wyświetlone okno dialogowe Tworzenie Firma, która pozwala użytkownikowi wypełnić dane firmy i kliknąć na utworzenie lub anulować. Oto nieco otwarcie, że:
class CompanyDlg(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
// etc.
jestem zmaga się z najlepszego sposobu wywoływania okna dziecko w onNew()
- co mam prace, ale nie jestem przekonany, że jest to najlepsze podejście, a także, mogę” • zobacz, jak przekazać szczegóły do i z okna dialogowego podrzędnego.
Próbowałem przeglądać samouczki online/referencje, ale to, co znalazłem, jest albo zbyt uproszczone, albo skupia się na takich rzeczach jak tkMessageBox.showinfo()
, co nie jest tym, czego chcę.
Dzięki bardzo za to, to naprawdę pomogło. –
# bryan-oakley Ładne podsumowanie technik. Czy polecasz dalsze szczegóły dotyczące takich technik (Internet lub książki) na temat wymiany danych między rodzicami a oknami potomnymi? : - generowanie zdarzeń z powrotem do rodzica - przesyłanie danych z powrotem do rodzica - ... – AJN