GUI Editline ESC Tuşu Çalışmama Sorunu Çözümü

Whistle

Ruhsuz Filozof
Kurucu
Kurumsal Üye
Geliştirici
Yardımsever Üye
Mesaj
11.495
Çözümler
546
Beğeni
12.048
Puan
5.864
Dün gece gui yazarken editline (input girişi) tipinde obje ekledikten sonra pencerenin esc tuşu ile kapanamadığını fark ettim. Ben mi kod hatası yaptım diye düşündüm ve üzerinde biraz daha uğraştım. Daha sonra uiscript objelerini tek tek kapatarak sorunun kaynağını tespit ederek editline tipi ile alakalı olduğunu fark ettim.

Bu sorunu oyunda input girişi olan pencereler üzerinde de test ettim ve aynı durum onlarda da var.
Aşağıda ki lonca haberleri penceresinde de bu sorun mevcut.
lonca haberleri.jpg


Peki bunu nasıl düzeltebiliriz?
Python:
{
    "name" : "minPriceValue",
    "type" : "editline",

    "x" : 2,
    "y" : 3,
     
    "width" : 94,
    "height" : 15,
     
    "input_limit" : 10,
    "only_number" : 1,
           
    "text" : "0",
},

Yukarıda editline tipinde oluşturulan uiscript kodunu görüyorsunuz. Tasarladığınız gui içinde editline tipinde olan tüm objelere SetEscapeEvent tanımlayarak pencerenin esc ile kapanmasını sağlayabilirsiniz.

Aşağıda kullanımı ile ilgili örnek kodu inceleyebilirsiniz;
Python:
self.minPriceValue = GetObject("minPriceValue")
self.minPriceValue.SetEscapeEvent(ui.__mem_func__(self.Close))

Yukarı da ki kodun çalışması için Close adında fonksiyonun da olması lazım. İsim olarak istediğinizi ekleyebilirsiniz. İsterseniz Close yazan yere hasan yazabilirsiniz. Orası fark etmez. Önemli olan fonksiyonu bulması.

Örnek Close fonksiyonu;
Python:
def Close(self):
    self.Hide()
 
Geri
Üst