*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
_______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt