ZodiacMotion: Hareketli zodyak

Galiba şu yüzden uyarı almadık:
or'un solunda kalan kısım şu:

sys_platform == 'win32' and python_version == '3.8' and platform_machine == "x86_64" 

Bu kısım False döndürecek. Çünkü sondaki platform_machine == "x86_64" koşulu sağlamıyor.

or'un sağ tarafında kalan kısım True olduğu için False or True bize True değerini geri dönderdi.

Yani şöyle:

True and True and False or True

Ben de bunu demiştim zaten, oraya bir parantez koymalıyız diye.

Siz sadece platform_machine == "AMD64" şartı sağlansa bile indirme işleminin yapılmasını istiyor musunuz?

Evet yanlış bir şey yazmışım orada, neyseki doğrusunu bulduk :slight_smile:

Yok böyle bir şey istemiyorum. Dediğiniz gibi parantez koymam gerekiyormuş oraya.

Sıkıntı bundan kaynaklanıyormuş, start_command bölümündeki ana döngüde her çizimden sonra self.update çağırılıyor. Döngü başına bir defa çağırmak lazım. İstiyorsanız PR çekebilirim veya kodu buraya atabilirim.

Fark etmez, nasıl istiyorsanız.

  1. satırdaki self.update() fonksiyonundan mı bahsediyorsunuz?

Evet, asıl kalması gereken fonksiyon o. Bir hata daha var yalnız, update işlemini farklı bir Thread’dan yapmak da görüntüde soruna sebep oluyor.

Yani self.update() fonksiyonu 1491. satırda kalsın, text_object, line_object ve aspect_line_object fonksiyonlarındaki self.update() fonksiyonlarını kaldırın mı demek istiyorsunuz?

Evet, ben de onu yaptım zaten. Yanlız bir de dediğim gibi update işlemninin Tk objesinin oluşturulduğu Thread’da çağırılması lazım.

1 Beğeni

Teşekkür ederim. :kissing_heart:

1 Beğeni

Yani Thread de aslında sıkıntı çıkartıyormuş.

Evet, ana döngüyü de fonksiyon haline getirip after kullanarak çağırmak isterdim ama hem geç oldu hem de üşendim :upside_down_face:

Peki after kullanmayı neden düşündünüz?

Şu anda program tek thread’lı olduğu için ana döngünün içerisindeki sleep fonksiyonu bütün programı durduruyor, dikkat ederseniz o anda arayüz de donuyor. Tkinter’da bunu engellemek için after kullanılıyor zaten.

Hımm, yani sleep'i kaldıracaktınız while start < end'in içindekileri bir fonksiyona koyacaktınız ve self.after bu fonksiyonu while start < end döngüsünün içinden sürekli çağıracaktı. Yanılıyor muyum acaba?

Evet.

Hayır, ortada döngü falan kalmayacaktı. Bu fonksiyon en sonda if start < end: self.after(beklenecek_zaman, ana_fonksiyon) şeklinde kendini tekrar çağıracaktı. Bu fonksiyonu nested olarak yazardım büyük ihtimalle, hem değişkenleri paslamayla falan uğraşmamış olurum.

Peki RecursionError hatası alma ihtimalimiz yok mu bu durumda?

İşlem tkinter tarafında normal bir fonksiyon çağırma olarak yapılıyor, ben biraz yanlış ifade ettim.

Yerine:

Bu fonksiyon en sonda if start < end: self.after(beklenecek_zaman, ana_fonksiyon) şeklinde kendinin tekrar çağırılmasını sağlayacakdı.

diyelim.

1 Beğeni