Hi,
  I'm trying to use a list that contains a media library react to a user 
clicking on an item in the list.  When clicked, the details of the item would 
show up in a GroupBox elsewhere on the screen.  However, at this time I'm a 
little stumped on Lists/Trees/Models/Views.

   I'm including the function that is called when the library is opened.  You 
can see that I have a connection to the listview call (self.lv).   I also have 
a backup in case this doesn't work which is a button to get the details.  
However, I would like to have it such that whichever item is 
selected/highlighted, would get shown in the item details group box.

  I've likely missed the implementation of this by a mile, and I need some 
help.    I've checked for examples but either they don't seem to do the same as 
I want or they are too complicated.

  Please let me know if anyone has some advice.

Kevin

______________________________ Code Below _________________________

    def openlibrary(self):
        if self.library_opened:
                return
        else:
                self.library_opened = True
        print "open library"
        
        self.index = 0
        self.total_list = []
        
# open library file
# read in each line

        libfile = open(self.MEDIA_LOC + "/mpyqt_library/library.txt","r")
        for count in libfile.readlines():                       
                entry = self.parse(count)
                print entry
                self.total_list = self.total_list + [entry]

        list_data = self.total_list
        self.lm = QStandardItemModel(0,10)
        self.lm.setHeaderData(0, QtCore.Qt.Horizontal, QtCore.QVariant("Type"))
        self.lm.setHeaderData(1, QtCore.Qt.Horizontal, QtCore.QVariant("Title"))
        self.lm.setHeaderData(2, QtCore.Qt.Horizontal, QtCore.QVariant("File 
Location"))
        self.lm.setHeaderData(3, QtCore.Qt.Horizontal, 
QtCore.QVariant("Artists"))
        self.lm.setHeaderData(4, QtCore.Qt.Horizontal, QtCore.QVariant("Album"))
        self.lm.setHeaderData(5, QtCore.Qt.Horizontal, 
QtCore.QVariant("Length"))
        self.lm.setHeaderData(6, QtCore.Qt.Horizontal, 
QtCore.QVariant("Resolution"))
        self.lm.setHeaderData(7, QtCore.Qt.Horizontal, 
QtCore.QVariant("Encoding"))
        self.lm.setHeaderData(8, QtCore.Qt.Horizontal, QtCore.QVariant("Image 
Location"))
        self.lm.setHeaderData(9, QtCore.Qt.Horizontal, 
QtCore.QVariant("Remarks"))

        for i in range(len(list_data)):
                self.lm.insertRow(0)
                self.lm.setData(self.lm.index(0, 0), 
QtCore.QVariant(list_data[i][0]))
                self.lm.setData(self.lm.index(0, 1), 
QtCore.QVariant(list_data[i][1]))
                self.lm.setData(self.lm.index(0, 2), 
QtCore.QVariant(list_data[i][2]))
                self.lm.setData(self.lm.index(0, 3), 
QtCore.QVariant(list_data[i][3]))
                self.lm.setData(self.lm.index(0, 4), 
QtCore.QVariant(list_data[i][4]))
                self.lm.setData(self.lm.index(0, 5), 
QtCore.QVariant(list_data[i][5]))
                self.lm.setData(self.lm.index(0, 6), 
QtCore.QVariant(list_data[i][6]))
                self.lm.setData(self.lm.index(0, 7), 
QtCore.QVariant(list_data[i][7]))
                self.lm.setData(self.lm.index(0, 8), 
QtCore.QVariant(list_data[i][8]))
                self.lm.setData(self.lm.index(0, 9), 
QtCore.QVariant(list_data[i][9]))
        self.lv = QTreeView()
        self.lv.setRootIsDecorated(False)
        self.lv.setAlternatingRowColors(True)
        self.lv.setSortingEnabled(True)


        self.lv.setModel(self.lm)
        self.libraryLayout.addWidget(self.lv) 
        self.lv.show()
        self.connect(self.lv, SIGNAL("currentTextChanged(const QString&)"), 
self.item_selected)
        self.detailsButton = QPushButton("Get Item Details")
        self.libraryLayout.addWidget(self.detailsButton)
        self.connect(self.detailsButton, SIGNAL('clicked()'), 
self.show_lib_entry)



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

Reply via email to