Bir başka kod editörü: Visual Python

icon.ico dosyası ana dizinde mevcut, değil mi? GNU/Linux’te Windows’taki gibi çalışmıyor olabilir. Size zahmet 'icon.ico' yerine './icon.ico' yazarak dener misiniz? O şekilde Ubuntu’da çalışırsa o şekilde değiştiririm, Windows’ta da çalışır çok büyük ihtimalle.

Ubuntu’nun terminali sağ tık menüsünden de kopyala-yapıştıra izin veriyor.

Olmadı hocam yine aynı hatayı aldım.

O zaman o satırı silin, simgesiz oluversin uygulama. :smile:

1 Like

Sileriz de bunun bir nedeni olmalı. Kendi programlarımda da aynı sorunu yaşıyorum?

Full path vermeyi dener misiniz

1 Like

Denemiştim zaten. Yine de teşekkür ederim :slight_smile:

Bence projedeki pencere icon’u normal png olarak ayarlanabilir. Aşağıdaki yöntemi Ubuntu üzerinde denedim ve çalıştı. Tabi öncelikle aşağıdaki png dosyasını indirip programın yanına “Python.png” olarak koymak lazım

img = tkinter.PhotoImage(file='Python.png')
pencere.tk.call('wm', 'iconphoto',pencere._w, img)

Png dosyası

1 Like

Sanırım .ico uzantılı dosyalarda Tkinter sorun yaşıyor UNIX ortamlarında. Öyle bir şeyler okumuştum bir yerlerde.

@coderistan ICO dosyasını PNG dosyası ile değiştireceğim inşallah.

1 Like

Eklediğiniz PNG dosyası görünmüyor. Ayrıca ICO dosyasını PNG ile değiştirip gönderebilirsiniz siz de, eğer katkıda bulunmak isterseniz uygulamaya. Tabii Windows’ta da sorunsuz çalıştığına emin olmalısınız öncelikle.

1 Like

Hocam .png uzantısı ile de denedim, yine aynı hata. :frowning:
Acaba bu metotta mı bir sorun var?

Allah Allah. Windows’ta çalışıyor, bence UNIX ortamı ve Tkinter ile ilgili; araştırmak gerek.

iconbitmap metodunun dökümanları:

Set bitmap for the iconified widget to BITMAP. Return
the bitmap if None is given.
Under Windows, the DEFAULT parameter can be used to set the icon
for the widget and any descendents that don’t have an icon set
explicitly. DEFAULT can be the relative path to a .ico file
(example: root.iconbitmap(default=‘myicon.ico’) ). See Tk
documentation for more information.

Ben şahsen tanımlamada winde olup linux’te olmayan bir şey görmedim.

Evet şimdi Windows üzerinde denedim, çalışıyor. Bir pull request isteği gönderdim.

1 Like

Projedeki icon sorunu giderilmiştir, ilgilenen arkadaşlara duyurulur. İyi forumlar :slight_smile:

2 Likes

Merhaba arkadaşlar. Bu projeyle ilgili aklıma bir fikir geldi ve uygulamak istedim, aynı zamanda sizin de burada fikrinizi almak istedim. Python IDLE üzerinde şu özelliği bu editöre uygulamak istedim. Bu özellik şu şekilde çalışıyor. Eğer kod üzerinde belirli bir kısım seçiliyken ALT+3 kombinasyonunu uygularsanız, bu seçili aralıkta bulunan tüm kodları yorum içerisine alıyor.

önce
Untitled-5%20copy

sonra
Untitled-6%20copy

Sadece seçili aralığı değil, sadece cursor’un bulunduğu satırı da yorum satırı haline getirebiliyor.

Bu özelliği editöre ekledim ve test sonucu

önce

sonra

İncelemek için: github
pull-request: github pull request

Edit: Tuhaf bir bir dille anlatmışım aceleden kusura bakmayın :slight_smile:

3 Likes

Super. Gercek bir PR oldugu icin de ekstra puan aliyor :slight_smile:

Beraber calistigim bir insana yapacagim yorumlari yapiyorum:

  • Ilk commit mesaji bos, hic bir sey ifade etmiyor. Update edilen dosyalarin listesini zaten show --stat veya ls-tree gibi komutlarla almak mumkun. Commit mesajinda yazmasi gereken __init__.py'nin niye update edildigi.
  • Ikinci commit mesajinin da, benzer sekilde, hangi yanlisligin ve/veya niye duzeltildigini yazmasi lazim.
  • git’in amend ozelligini okumak isteyebilirsin.
  • Un/comment edilecek satirlari belirleyen kod ile belirlenen satirlari un/comment edecek kodu ayirman lazim. Boylelikle hem 223-224 ile 232-233 gibi satirlarin tekrarini onlersin, hem de ## yerine # kullanmaya karar verdiginde 5 yerde degisiklik yapmak zorunda kalmazsin. Secili satirlarla calisan baska bir fonksiyon yazarken de kolaylik olur.

Aslinda code review oldu. O zaman sunlari da ekleyeyim:

  • Her yerde int cast’i kullanmaya gerek yok. Degiskenlere deger yazarken cevirmen yeterli.
  • self.index(bisiy).split(".") son derece okunmaz, ne yaptigi hakkinda en ufak bir fikrim yok. Manali bir fonksiyona mi tasisak?
1 Like

Eleştiriniz için çok teşekkür ederim. Haklısınız biraz düzensiz olmuş ve biraz aceleye geldi diyebilirim(neden bilmiyorum) . Ayrıca commit yazmıştım ancak 50 karakter üstü olduğu için sanırım eklememiş

Burada tam olarak ne demek istediğinizi anlayamadım. Bunu nasıl optimize ederim?

Aslında burada yaptığı şey şu. Seçili metnin son kısmının(seçimin sona erdiği yer) bulunduğu pozisyonu satır.sütun şeklinde elde etmemizi sağlıyor. Ben de bunu . karakterine göre iki kısma ayırıp liste haline getiriyorum ki, satır ve sütun olarak ele alıp işleyebileyim

Önerilerinizi dikkate almaya çalışıyorum, tekrar teşekkürler :slight_smile: O zaman bu pull-request isteğini kapatıp tekrar düzenleyeyim

Comment veya uncomment edilecek satirlari secen kod 200-230 satirlari arasinda.
Secili satirlari comment veya uncomment eden kod 223-224,226,232-233 satirlarinda.
Icice gecmisler. Fazla karisik. Olmasi gereken versiyonu soyle:

yorum_yapilacak_satirlar = secili_satirlar()
yorum_yap(yorum_yapilacak_satirlar)

Hangi parametre icin optimize etmek istiyorsun? Yukarida okunabilirlik/degistirilebilirlik/yazilabilirlik ve programci vakti icin optimize hali var.

Dogru yapiyorsun, ona bir sey demiyorum ama bu isi uc kere yapiyoruz. (Tek bir fonksiyonda, kodun geri kalanina bakmadim bile) index fonksiyonunun tasarimi hatali; satir ve sutunun tuple olarak donmesi lazim, “.” ile ayrilmis string olarak degil. Ben onu yazan takimla goruseyim, duzelene kadar da bu tarafta yardimci bir fonksiyon ile idare edelim.
(Dedim ya, code review oldu bu :​)

1 Like

Tamamdır. Tekrar elden geçireyim, kendi git repomda düzeltilmiş olarak daha sonra buradan paylaşırım .