Znalazłem go frustrująco trudno znaleźć prosty sposób, aby usunąć mój wybrany {x0}}.

Moja metoda patchworku obejmuje ustawienie bieżącego wyboru drzewa do current, a następnie:

if current.parent() is not None:
   current.parent().removeChild(current)
else:
   self.viewer.takeTopLevelItem(self.viewer.indexOfTopLevelItem(current))

To nie jest okropne, ale nie ma polecenia, które prosto właśnie usuwa przedmiot?

12
RodericDay 27 sierpień 2012, 01:30

2 odpowiedzi

Najlepsza odpowiedź

Klasa {{X0} > Funkcja, która pozwala na nieco podejście NEATER:

root = tree.invisibleRootItem()
for item in tree.selectedItems():
    (item.parent() or root).removeChild(item)
14
ekhumoro 26 sierpień 2012, 23:24

Pyqt4 korzysta z SIP do generowania wiązań Pythona dla klas QT, dzięki czemu można usunąć obiekt C ++ wyraźnie przez The SiP Python API:

import sip
...
sip.delete(current)

Generator wiążący do pysku, hreftp://www.pyside.org/docs/sboken/shibokenmodule.html" rel="norefErer "> podobny moduł .

8
alexisdm 27 sierpień 2012, 01:36