It's because your call to item() is wrong.

    print"Root: ", self.table.item(selected.row(),selected.row()).text()
    print "Parent: ", self.table.item(1,selected.row()).text()

You are passing two row values on that first call, and then presumably
passing column/row on the second, when it should be row/column

http://qt-project.org/doc/qt-4.8/qtablewidget.html#item

Change those to:

    row = selected.row()
    print"Root: ", self.table.item(row,  0).text()
    print "Parent: ", self.table.item(row, 1).text()

Justin

On Sun, 15 Feb 2015 8:39 AM benjam901 <[email protected]> wrote:

> Hello all,
>
> I am writing a UI for a tool I put together a while back and am gathering
> a table view with a list of objects in one column and their parents in the
> other.
>
> My QtableWidget view is giving me some very strange behaviour when
> selecting my items. The further down the list you get when you select the
> objects in column 0 the worse the return results get for example:
>
> My table view looks essentially like this currently:
>
> Root             Master parent
> anim_door        parent_car_02
> car_test         World
> Car_test_01      World
> anim_door_left   parent_car_test_02
> anim_door_02     parent_car_02
> car_test_02      World
> Car_test_03      World
> anim_door_right  parent_car_test_02
>
>
> I have a selection changed signal and am trying to get the Root and the
> parent using the following code:
>
> def selectionChanged(self):
>     selectedItems = self.table.selectedItems()
>
>     for selected in selectedItems:
>         print selected.text()
>         #qIndex = self.table.indexFromItem(selected)
>         print"Root: ", self.table.item(selected.row()
> ,selected.row()).text()
>         print "Parent: ", self.table.item(1,selected.row()).text()
>
>
> Everything is working as far as on selection changed goes but the results
> I am getting are very odd. For example if I select row 7 values I will get:
> Root: World
> Parent: World
>
> If I select row 0 I will get:
> Root: anim_door
> Parent: car_test
>
> Selection of row 4:
> Root: Car_test_01
> Parent: Anim_door_left
>
> I am not sure why I am getting these values. Could it have something do do
> with my initialisation or perhaps my selection model?
>
> Selection model:
> self.tableModel = self.table.selectionModel()
> self.tableModel.selectionChanged.connect(self.selectionChanged)
>
>
> def initTable(self):
>         itemsInScene = pm.ls(dag=True)
>         for item in itemsInScene:
>                 # If the item is question has no attribute it errors hence
> the try except 1
>                 try:
>                         # If isRoot exists then add it to the list
>                         if pm.getAttr(item.isRoot):
>                                 self.dictOfRoots.update({str(
> item.nodeName()):str(self.splitName(item, 0))})
>                 except:
>                         pass
>         rowNum = 0
>         self.table.setRowCount(len(self.dictOfRoots))
>         for key in sorted(self.dictOfRoots):
>                 columnNum = 0
>                 rootName = QtGui.QTableWidgetItem(str(key))
>                 rootParent = QtGui.QTableWidgetItem(str(
> self.dictOfRoots.get(key)))
>                 rootParent.setFlags(QtCore.Qt.ItemIsEnabled)
>
>                 if rootParent.text() == rootName.text():
>                         rootParent = QtGui.QTableWidgetItem(str("World"))
>
>                 self.table.setItem(rowNum, columnNum, rootName)
>                 self.table.setItem(rowNum, columnNum+1, rootParent)
>                 rowNum += 1
>
> Any help would be appreciated. Apologies for the lack of code trags, I am
> not sure where to find them or if this group supports them
>
> Cheers!
>
> Ben
>
> --
> You received this message because you are subscribed to the Google Groups
> "Python Programming for Autodesk Maya" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/python_inside_maya/489379a3-3cff-49dd-a2a7-
> 6d1af00291f4%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/python_inside_maya/CAPGFgA1Ehn6RJA%2B3X61_Bfr%3DUkzpAJBMCaiGYKqCaZXhVejg_A%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to