リスト
QListView、QStandardItemModelを使用する。QAbstractListModelを使用するのは面倒なので利用しない。
QAbstractListModelの例は以下を参考に。
import sys from PySide import QtCore, QtGui class MyWindow(QtGui.QWidget): def __init__(self, *args): QtGui.QWidget.__init__(self, *args) self.i = 4 list_data = range(4) self.model = QtGui.QStandardItemModel() for data in list_data: item = QtGui.QStandardItem(str(data)) item.setEditable(False) self.model.appendRow(item) self.lv = QtGui.QListView() self.lv.setModel(self.model) pb = QtGui.QPushButton('Add', self) QtCore.QObject.connect(pb, QtCore.SIGNAL('clicked()'), self.update_list) layout = QtGui.QVBoxLayout() layout.addWidget(self.lv) layout.addWidget(pb) self.setLayout(layout) def update_list(self): item = QtGui.QStandardItem(str(self.i)) item.setEditable(False) self.i += 1 self.model.appendRow(item) self.lv.scrollToBottom() if __name__ == "__main__": app = QtGui.QApplication(sys.argv) w = MyWindow() w.show() sys.exit(app.exec_())