Re: [Linux-programlama] python.Tk.listeKutucuguna.tıklama

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Erkin Tek (erkintek@fotograf.web.tr)
Date: Wed 11 Oct 2006 - 11:35:39 GMT


class EkranX(Ekran)
     def __init __ ...
        ...
        ...
        frm=Frame(self,
        Ekran.__init__(frm, ...

Şekilde görüldüğü gibi bir tür döngü oluşmuş aslında ben saçmaladım, saolsun
açık kaynak Tkinter'in nerde dönüp durduğunu gösterdi. Bind metodu ile
listeye erişmek için hareket(action) önce master widget arıyormuş. Bu kendisi
üzerindeki frame'de duran kendisi yüzünden hiç bi zaman mastere ulaşamıyor.

class tanımını EkranX(Frame) yapınca doğal olarak herşey doğal akışına
kavuştu, içeride istediğim frame'i babası olarak tanıtıp Ekran'ın bir
örneğini gömebildim.

Bu bence bir tür bug, nesnenin mirasına konduğu frame üzerinde kendisini
gerçeklemek hiç mantıklı gelmemişti, Tkinter'a da gelmemeliydi. İşin kötüsü,
bu saçma durumu sadece bir hareket bağladığımda (bind ile) farketmekti,
alternatifi olsa saçma yada diil çalışıyor olacaktı.

Pts 09 Eki 2006 16:26 tarihinde, Erkin Tek şunları yazmıştı:
> selam,
> bind ile liste kutucuğuna bir eylem atıyordum, fare ile tıklayınca.
> Biraz yapıyı değiştirdim, şimdi ne atarsam atayım ekran kitleniyor, ctrl+c
> ile duruduruyorum ve işlemci kullanımı %100 oluyor.
>
> Nedeni konusunda bir fikir yürütebilir misiniz?
>
> yapı şöyle:
> 1 dosya'da bir sınıf tanımlı, Frame'den kalıtıyor, işte üstüne düğme fln
> koyuyo, 2. dosya bu 1.dosyadaki sınıfı kalıtım yoluyla alıyor, ekstradan
> bir kaç tuş ekliyor.
> liste kutusu bunlardan biri. Hiç bir hata almıyorum.
>
> self.liste.bind("<Button-1>", self.fnSeciliOlaniDuzenleMouseClick )

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.