[python] Smazání určitého řádku s widgety z QGridLayoutu

Martin Stiborský martin.stiborsky na gmail.com
Neděle Duben 19 20:46:32 CEST 2009


Aha, děkuji mockrát.

2009/4/19 Petr Vaněk <petr na scribus.info>:
> Dne neděle 19 Duben 2009 19:37:02 Martin Stiborský napsal(a):
>> Umím zjistit kterého řádku čudlik byl zmáčknut, umím najít widgety
>> onoho konkrétního řádku, ale pomocí removeItem je neumím smazat.
>> Tedy ony zmizí, ale funguje to nějak divně,řádek se posune někam
>> naspod QGridLayoutu, kousek widgetu je pořád vidět, těžko popsat.
>>
>> Kód kterým mažu:
>> def deleteRow(self):
>>     sender = self.sender()
>>     index = self.answersWidgets.indexOf(sender)
>>     row = self.answersWidgets.getItemPosition(index)[0]
>>     for x in range(self.answersWidgets.columnCount()):
>>       widget = self.answersWidgets.itemAtPosition(row, x)
>>       if widget is not None:
>>           self.answersWidgets.removeItem(widget)
>>
>> Udělal jsem video, tam je dobře vidět, kde je problém.
>> http://www.vimeo.com/4226650
>> Co dělám špatně ?
>
> z dokumentace:
> "Removes the layout item item from the layout. It is the caller's
> responsibility to delete the item."
>
> Takže widget stále zůstává potomkem "parenta" - přesune se z layoutu někam do
> rodiče. Musíš jej smazat/zrušit ručně.
>
> p.
>
> P.S.: obecná - chlapíci, kdybyste dávali nějaké "minimální fungující kódy",
> tak to můžu hned nasimulovat, ale takhle mne ani nehne ;)
> _______________________________________________
> Python mailing list
> Python na py.cz
> http://www.py.cz/mailman/listinfo/python



-- 
S pozdravem
Martin Stiborský

Jabber: stibi na njs.netlab.cz
ICQ: 224-065-849


Další informace o konferenci Python