*well, I found my self another way, similar but shorter.* *only the printItem() function have been changed from the previous code.* * *
> def printItemText(self): > items = self.listWidget.selectedItems() > x=[] > for i in list(items): > x.append(str(i.text())) > print x On Mon, Mar 26, 2012 at 9:39 PM, Christos Parliaros <cparlia...@gmail.com>wrote: > *Is there any better, more efficient way to achieve the following:* > > from PyQt4.QtCore import * >> from PyQt4.QtGui import * >> import ui_list >> class Test(QDialog,ui_list.Ui_Dialog): >> def __init__(self, parent=None): >> super(Test, self).__init__(parent) >> self.setupUi(self) >> for i in range(10): >> item = QListWidgetItem("Item %i" % i) >> self.listWidget.addItem(item) >> #self.listWidget.itemClicked.connect(self.printItemText) >> self.connect(self.listWidget, SIGNAL("itemSelectionChanged()"), >> self.printItemText) >> >> def printItemText(self): >> items = self.listWidget.selectedItems() >> x=[] >> for i in range(len(items)): >> x.append(str(self.listWidget.selectedItems()[i].text())) >> print x >> if __name__ == "__main__": >> import sys >> app = QApplication(sys.argv) >> form = Test() >> form.show() >> app.exec_() > > > *I couldnt find any way to get a list with all the selected items as > text, so I had to create this loop.* > * > * > *Here is the code from the ui_list.py from qtdesigner:* > > from PyQt4 import QtCore, QtGui >> try: >> _fromUtf8 = QtCore.QString.fromUtf8 >> except AttributeError: >> _fromUtf8 = lambda s: s >> class Ui_Dialog(object): >> def setupUi(self, Dialog): >> Dialog.setObjectName(_fromUtf8("Dialog")) >> Dialog.resize(231, 315) >> Dialog.setWindowTitle(QtGui.QApplication.translate("Dialog", >> "Dialog", None, QtGui.QApplication.UnicodeUTF8)) >> self.listWidget = QtGui.QListWidget(Dialog) >> self.listWidget.setGeometry(QtCore.QRect(10, 10, 211, 291)) >> >> self.listWidget.setSelectionMode(QtGui.QAbstractItemView.MultiSelection) >> self.listWidget.setObjectName(_fromUtf8("listWidget")) >> self.retranslateUi(Dialog) >> QtCore.QMetaObject.connectSlotsByName(Dialog) >> def retranslateUi(self, Dialog): >> pass > > > *thanks in advance* > -- > Christos Parliaros > VFX Technical Director and Artist > www.cparliaros.com > -- Christos Parliaros VFX Technical Director and Artist www.cparliaros.com
_______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt