Detaylı anlatımınız için teşekkür ederim. Sabırsız biri olduğum için işin mantığını derinlemesine öğrenmek yerine lego gibi kodları birleştirip çalıştırıyorum. Az buçuk neyin nasıl çalıştığını da öğrendim. Fakat sanırım SINIF kavramı ve Nesne tabanlı programlamanın felsefesini anlayabilmem için daha fazla okumam gerekiyor. yazbel belgelerinin yardımcı olacağına inanıyorum.
Çünkü icmal
sınıfında kullanacağınız _display
, Display
sınıfının örneğine ait bir nitelik. Display
’in örneği self
’tir. self
Display()
'e eşit, Display
’e değil.
Display
ile Display()
farklı şeyler. Display
bir sınıf, Display()
ise bu sınıfın örneği.
Çünkü self
’in _display
isimli bir niteliği yok. Bakın burada _display
, Display
sınıfının örneğinin yerine geçen, dışarıdan alınan bir parametre. icmalbutton
’da bu _display
parametresinin yerine self
yazıyoruz. Dolayısıyla self
, _display
’in yerine geçiyor.
Kıymetli katkılarınızla arayüzü sınıf metoduyla oluşturdum. Böylece sınıf metodunda temel felsefeyi öğrenmiş oldum. İlk mesajımda da bahsettiğim gibi ilk hedefim arkaplanda işlem yaparken “yanıt vermiyor” diyerek arayüzün donmasını önlemekti. İkinci hedefim programı modüllere bölerek daha düzenli bir yapıya kavuşturmaktı.
Bu şekilde ikinci hedefime ulaşmış oldum. Fakat Arayüzde “yanıt vermiyor” donması devam ediyor. Sanırım EkremDincel beyin de dediği gibi multithreading tekniğine girmem gerek.
Burada dediğim gibi, eğer işlemler uzun bir tek bloktan oluşuyorsa threading modülünü kullanabilirsiniz.
SQL sorguları olduğu için threading çalıştırmalıyım. Arayüzü bir dosyaya diğer fonsiyonları ayrı dosyalara böldüm. Örnek bir threading çalışması varsa paylaşır mısınız?
Şurada bir anlatım var, inceleyebilirsiniz: