I have been successful in getting the row number back to me for a selected row. 
 I have found that the returned row number is not consistent with the list but 
with the view.  Therefore row '0' when I start is row '10' on a 10 item list 
when the view is sorted in the opposite direction.

Is there a simple method of retrieving the item data out of the list model for 
the selected item?

Kevin

---- Matt Newell <[EMAIL PROTECTED]> wrote: 
> On Tuesday 18 March 2008 10:52:20 Matt Newell wrote:
> > On Tuesday 18 March 2008 09:46:06 [EMAIL PROTECTED] wrote:
> > > Phil/Andreas,
> > >
> > >      I've been experimenting again using some of the recommendations and
> > > some examples I have found.   Please look at the new example I am working
> > > with, which is below.
> > >
> > >     I can now have a reaction to a selected item in a list.  When
> > > something is selected, the 'slot' function is called and is run.  Great! 
> > >  In this case it prints out some details including the number of rows,
> > > etc.
> > >
> > >     Now I am still trying to access a reference to the selected item so I
> > > can pull the data from the original list and display it elsewhere in a
> > > different widget.  The original author of this modified program included
> > > a function call called "data".   However, I cannot figure out how to use
> > > it. I guess my hangup is the index and role fields.  I don't know what to
> > > put in those fields to get the currently selected item.
> > >
> > >     In my case I need the current row, that is the current row number.  I
> > > don't need to fiddle around with the row entries as I already have them
> > > in the original list.
> > >
> > >    Could someone help me write a simple function called
> > > "get_current_row_number", which returns an integer indicating the
> > > highlighted row?
> > >
> > > Kevin
> >
> > You just need to get the QModelIndexes from the QItemSelection 'selected'
> > object in your slot, then call row() on them.
> >
> > The QItemSelection is a list of QItemSelectionRange objects.  Each
> > QItemSelectionRange contains 1 or more selected QModelIndexes, represented
> > from a topleft to bottom right with the same parent.
> >
> > >     def slot(self, selected, deselected):
> >
> >     # this will give you an index for each row and col
> >     # so if you have multiple columns selected you will get duplicates
> >     for idx in selected.indexes():
> >             print idx.row()
> >     # Here is how to get the rows even if there are multiple columns 
> > selected
> >     # This ignores the indexes' parents, which is fine if your
> >     # model is 2 dimensional
> >     for selectionRange in selected:
> >             for i in
> > range(selectionRange.topLeft().row(),selectionRange.bottomRight().row()):
> >                     print "Row %i selected" % i
> >
> 
> Sorry, that last part should be - 
>               for i in range(selectionRange.top(),selectionRange.bottom() + 
> 1):
>                       print "Row %i selected" % i
> 
> 
> >
> > Matt
> > _______________________________________________
> > PyQt mailing list    [email protected]
> > http://www.riverbankcomputing.com/mailman/listinfo/pyqt
> 
> 

_______________________________________________
PyQt mailing list    [email protected]
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Reply via email to