Guest User

odpowiedz

a guest
Nov 12th, 2017
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. import tkinter as tk
  2.  
  3. class OknoGlowne():
  4. 'rysuje glowne okno programu'
  5. def __init__(self, master):
  6. self.master = master
  7. self.master.title("Okno glowne")
  8. self.okno = tk.Frame(self.master)
  9. self.przycisk = tk.Button(self.okno, text="Nowe okno", command=self.noweokno)
  10. self.przycisk.pack()
  11. self.okno.pack()
  12.  
  13. def noweokno(self):
  14. self.slave = tk.Tk()
  15. self.drugieokno = OknoDrugie(self.slave, self)
  16.  
  17. class OknoDrugie():
  18. 'ryzuje okno drugie'
  19. def __init__(self, slave, aplikacja):
  20. ####### tu jest problem:
  21. # chce przy uruchamianiu tego okna ustawić atrybutowi przycisk z obiektu aplikacja klasy OknoGlowne state disabled:
  22. # aplikacja.przycisk.state(["disabled"])
  23. # ale mam: NameError: name 'aplikacja' is not defined --> dlaczego? jak mogę coś takiego zrobić? chciałbym dla każdego okna tworzyć nową klasę, czy to zły pomysł?
  24.  
  25. #reszta okna
  26. aplikacja.przycisk['state'] = "disabled"
  27. self.slave = slave
  28. self.slave.resizable(False, False)
  29. self.slave.title("Okno drugie")
  30. self.okno2 = tk.Frame(self.slave, width=300, height = 200)
  31. self.okno2.pack(expand=False)
  32.  
  33.  
  34. def main():
  35. master = tk.Tk()
  36. aplikacja = OknoGlowne(master)
  37. master.mainloop()
  38.  
  39. if __name__ == "__main__":
  40. main()
Advertisement
Add Comment
Please, Sign In to add comment