Kendimi geliştirmek üzere birkaç ay önce yazdığım çizim programını Github’a koyup başkalarını da bu kodlardan faydalanmasını sağlamak istedim. Aynı zamanda sizinde program hakkındaki görüş ve önerilerinizi öğrenmek istiyorum.
Kodlarım:https://github.com/Tuguberk/Cizim-Programi
Kendimi geliştirmek üzere birkaç ay önce yazdığım çizim programını Github’a koyup başkalarını da bu kodlardan faydalanmasını sağlamak istedim. Aynı zamanda sizinde program hakkındaki görüş ve önerilerinizi öğrenmek istiyorum.
2 önerim olabilir:
- Değişken veya fonksiyon adlarının bazıları Türkçe karakter içeriyor.Türkçe karakter kullanmamaya özen göster.
- pyqt yi bi incele derim.
Bu arada güzel olmuş, tebrikler. Müsait bir zamamda çalıştıracağım kodları.
Kolay gelsin
Teşekkür ederim. Türkçe karakten olayına dikkat etmeye çalışıyorum. Pyqt ye gelince, şuan opencv ile uğraşıyorum müsait olduğum bir ara ona da bakacağım.
Ellerinize sağlık, güzel olmuş. Birkaç önerim olabilir:
- “Yeni Tuval Oluştur.” tuşuna tıklayınca açılan pencerede varsayılan ayarlar olabilir. O pencereye ne yazılacağı bilinemeyebilir.
- Tuval kaydedilebilir.
Kodla ilgili de birkaç önerim var:
-
self.kalemKalınlığıisimli bir değişken tanımlamışsınız bir yerde. Bunun yerine
self.kalem_kalınlığıismini kullanmalısınız: https://www.python.org/dev/peps/pep-0008/#method-names-and-instance-variables
-
Oluşturisimli bir metod tanımlamışsınız.
oluşturolmalı: https://www.python.org/dev/peps/pep-0008/#method-names-and-instance-variables
-
self.bilgi1 = tk.Label(self,text="Tuvalin Uzunlugu:").grid(row=0,column=0)Bu çalışmaz. Çünkü
gridmetodu oluşturulan
Labelörneğini değil,
Nonedöndürür.
@Cihat_Altiparmak, PyQt, Tkinter’dan daha gelişmiş ancak Tkinter’ın da basitlik, kurulum gerekmemesi, lisansının ücretli uygulamalara izin vermesi, vb. avantajları var. PyQt’de yapılabilen her şey Tkinter ile de yapılabilir. Tabii biraz daha fazla uğraşmak gerek.
Öncelikle teşekkür ederim. “Yeni Tuval Oluştur” kısmına varsayılan ayarlar ekleyeceğim. Tuvalin kaydetmeye de çalıştım ama sanırım tkinter bunu yapamıyor. Bulduğum kaynakları denediğimde çalıştıramamıştım. Değişken ve metodları düzelteceğim. 3. maddeyi de öğrendiğim iyi oldu. Yeniden teşekkür ederim. En yakın zamanda kodları yenileyeceğim.
@ismailarilik hocam,
oluştur da olmamalı(olmamalı da değil, ama ben pek tercih etmiyorum),
olustur olursa daha iyi olur bana kalırsa
Win de paint vardı. O, üzerine çizilen şeyleri eğer siz kaydetmek isterseniz onu png olarak kaydediyordu.Acaba
tkinterde png nasıl düzenlenir, editlenir? bu araştırılırsa belki bir şeyler çıkar.
Kolay gelsin
sn @ismailarilik bey’in belirttiği gibi, tuval resmi kaydedilebilir. Bunun için aşağıdaki linkten yardım alabilirsiniz.
Program konusunda yorum olarak, Türkçe değişken ismi kullanmanız biraz aykırı* olmuş. Onun dışında, temel elemanları bir sınıf olarak ele almanız, OOP olarak çok iyi.
Ancak, bu elemanları ayrı bir dosya içinde tutarsanız, daha modüler bir program haline gelmiş olur. Örneğin widgets/rectangle.py altındaki modül, dikdörtgen çizimi için gerekli olan sınıfı içersin. Böylece daha modüler ve yönetimi kolay bir program olmuş olur.
Düşüncelerim bunlar Kolay gelsin…
Başka projelerde söylediğiniz farklı dosya olayını yapacağım. tuval resmini kaydetmeyi de programa eklemeye çalışacağım.
Daha çok uğraşsak da PyQt kadar güzel olmaz. Tkinter in böyle bir sıkıntısı var.
Bence olur. Tk son zamanlarda bu alanda ilerleme kaydetti. Örneğin, ttk buna bir örnek.
Ama ttk veya tix i anlatan hiç kaynak yok