class_docstr: Extends QTreeWidget to allow internal drag/drop with widgets in the tree.
  Also maintains the expanded state of subtrees as they are moved.
  This class demonstrates the absurd lengths one must go to to make drag/drop work.
class_docstr_tok: ["Extends","QTreeWidget","to","allow","internal","drag\/drop","with","widgets","in","the","tree",".","Also","maintains","the","expanded","state","of","subtrees","as","they","are","moved",".","This","class","demonstrates","the","absurd","lengths","one","must","go","to","to","make","drag\/drop","work","."]
docstr: Return the item and column corresponding to a QModelIndex.
          
docstr_tok: ["Return","the","item","and","column","corresponding","to","a","QModelIndex","."]
code: def itemFromIndex(self, index):
      """Return the item and column corresponding to a QModelIndex."""
      col = index.column()
      rows = []
      while index.row() >= 0:
          rows.insert(0, index.row())
          index = index.parent()
      item = self.topLevelItem(rows[0])
      for row in rows[1:]:
          item = item.child(row)
      return item, col
  
imports: from ..Qt import QtCore, QtWidgets
label_desc: Use image node_id 22 for calling the TreeWidget obj's underlying member method code with example usage: obj.itemFromIndex(index) and returns: item,  col