[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