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

Whistle

Luntar
Kurucu
Kurumsal Üye
Geliştirici
Yardımsever Üye
Mesaj
11.812
Çözümler
560
Beğeni
12.868
Puan
5.915
Ticaret Puanı
2
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:
Genişlet Daralt Kopyala
{
    "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:
Genişlet Daralt Kopyala
self.minPriceValue = GetObject("minPriceValue")
self.minPriceValue.SetEscapeEvent(ui.__mem_func__(self.Close))

Yukarıdaki kodun çalışması için Close adında fonksiyonun da olması lazım. İsim olarak istediğinizi ekleyebilirsiniz. Önemli olan fonksiyonu bulması.

Örnek Close fonksiyonu;
Python:
Genişlet Daralt Kopyala
def Close(self):
    self.Hide()
 
Üst