<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il giorno ven 31 mag 2019 alle ore 09:51 Gottfried Müller <<a href="mailto:gottfried.mueller@gmx.de">gottfried.mueller@gmx.de</a>> ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello,<br>
<br>
in the example I created a tree with 3 items ("aaa", "bbb", "ccc"). In a <br>
context menu I want to remove the items "bbb" or "ccc". I get always the <br>
correct item, but I have no idea how to delete this item. May action <br>
takes always the item "aaa". In another menu action ("find item text") I <br>
searched for a reason. I get always the row=0 and column=0 of the model <br>
index. Also a findItems call delivers no results. I have no idea whats <br>
wrong.<br></blockquote><div><br></div><div>You're trying to remove an item which is child of another one, while </div><div>QStandardItemModel.takeItem() only works for "root" items.</div><div>You need to remove the item's row from the item parent:</div><div><br></div><div><div><font face="courier new, monospace">        [...]</font></div><div><font face="courier new, monospace">        delCase01.triggered.connect(lambda: self.delTakeItem(item))</font></div><div><font face="courier new, monospace">        menu.exec_(self.mapToGlobal(pos))<br></font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">     def delTakeItem(self, item):</font></div><div><font face="courier new, monospace">         item.parent().removeRow(item.row())</font></div></div><div><br></div><div>Cheers,</div><div>Maurizio </div></div><div><br></div>-- <br><div dir="ltr" class="gmail_signature">È difficile avere una convinzione precisa quando si parla delle ragioni del cuore. - "Sostiene Pereira", Antonio Tabucchi<br><a href="http://www.jidesk.net" target="_blank">http://www.jidesk.net</a></div></div></div></div></div>