Şimdi örnek değişkenler ve sınıflar kavramını anlıyorum, daha önce onlarla hiç bir sorunum olmadı ve bunları sık sık kullanıyorum. Ancak MainWindow sınıfımı oluşturduğumda, örnek değişkenlere erişmeye çalışana kadar her şey şeftali. Python Tkinter - Değişkenleri ana pencere sınıfının dışından nasıl değiştiririm?
http://pastebin.com/tDs5EJhi tam bir koddur, ancak bu noktada sadece etiket ve çerçevelerin yerleştirilmesi ve neyin yok, gerçek bir mantık yok. Pencere iyi görünüyor ve kötü bir şey olmaz.
Sorun, pencerenin içindeki şeyleri dışarıdan değiştirmeyi denediğimde ortaya çıkıyor. Ben sadece sınıfın bir örneğini yapabildiğim ve normalde olduğu gibi değişkenleri değiştirebildiğimi düşündüm (örnekvariable.ImageCanvas.itemconfig()), fakat Tkinter bu konuda hoş değil ve bunun Tkinter'in ana karakteri olduğunu düşünüyorum ().
İşte ben örnek değişkenleri nasıl düzenleneceği böyle öğrendim Yani ben (207 ln) sorun yaşıyorum benim sınıf MainWindow() ait çerez
...
self.C4 = Tk.PhotoImage(file="temp.png")
self.card4 = self.CardCanvas.create_image(120,46,image=self.C4, state=Tk.NORMAL)
#self.CardCanvas.itemconfig(4, state=Tk.HIDDEN) # < It works here
...
self.root.mainloop()
window = MainWindow()
window.CardCanvas.itemconfig(4, state=Tk.HIDDEN) # < It doesn't work here
bu. Pencere açıldığında, itemconfig komutu aslında sınıfın içinde olduğu gibi uygulanmaz (veya belki yaptı ve pencere henüz güncellenmedi?) Ve pencereyi kapattıktan sonra şu hatayı aldım:
Varsayacağım bir şey var, çünkü artık var olmayan değişkenlere bir metot uygulamaya çalıştığı, şimdi pencerenin kapandığıdır.Yani sanırım işte büyük bir sorum var - MainWindow sınıfım var ve söyleyebildiğim kadarıyla, Tk.mainloop() çalışmakta olduğu için hiçbir şey sınıfın dışından değiştirilemez. itemconfig gibi çalıştırdıktan sonra diğer kod. Bu değişkenleri değiştirmeye nasıl giderim? Örnek değişken bildirimi sonrası kod, MainWindow() kapalı olana kadar çalışmamaktadır.
Sanırım pencereyi güncellemek için aradığım şey 'after'. Yardım için teşekkürler! – Hexic