2010-02-21 13 views

cevap

24

"senin Tkinter-uygulama aynı zamanda duracak çünkü boşta uygulamanızı diyoruz örneğin eğer. Bu, bir sorun olabilir, İstediğin çoğu durumda olduğunu. TCL tercüman durağı) (çıkın. Boşta kendisi olduğunu Tkinker-app, böylece uygulamanızda quit() öğesini çağırırsanız ve TCL tercümanı sonlandırılırsa, boşta da sona erer (ya da karıştırılır)

destroy() sadece mainloop'u sonlandırır ve tüm widget'ları siler. Uygulamanızı başka bir Tkinter uygulamasından çağırırsanız veya birden fazla mainloops varsa daha güvenli olmak için. "

çıkmak için mainloop http://www.daniweb.com/forums/thread66698.html

+2

Bu yanıt çok doğru değil. root.quit() '," TCL yorumlayıcısını durdurmaz ". Sadece "mainloop" un çıkmasına sebep olur. Tüm widget'lar gibi tercüman hala sağlam. Root.destroy() işlevini çağırmak, _and_ exit 'mainloop' adlı tüm widget'ları yok edecektir. –

10

root.quit() nedenlerinden alınan. Tüm widget'lar gibi tercüman hala sağlam. Bu işlevi çağırırsanız, root.mainloop() numaralı çağrıdan sonra çalıştırılan kodunuz olabilir ve bu kod, widget'larla etkileşime girebilir (örneğin, bir giriş widget'ından bir değer elde edebilirsiniz).

root.destroy() öğesinin çağrılması, tüm parçacıkları yok edecek ve mainloop'tan çıkacaktır. root.mainloop() numaralı çağrıdan sonra herhangi bir kod çalışacaktır, ancak herhangi bir widget'a erişme girişimi (örneğin, giriş widget'ından bir değer elde etme), widget artık mevcut olmadığı için başarısız olacaktır.

İlgili konular