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

Whistle

Ruhsuz :/
Kurucu
Geliştirici
Yardımsever Üye
Mesaj
12.291
Çözümler
573
Beğeni
15.670
Puan
6.281
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()
 
Uyarı: Bu konu açıldığından bu yana baya zaman geçmiş.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.
Geri
Üst