rom PyQt4 import QtGui class window(QtGui.QWidget): def __init__(sf): QtGui.QWidget.__init__(sf) sf.setWindowTitle("Прикрепление источника данных к комбобоксу") sf.resize(400, 400) sf.layout = QtGui.QVBoxLayout() sf.setLayout(sf.layout) sf.model = QtGui.QStandardItemModel(5, 2) sf.fillmodel() sf.combo = QtGui.QComboBox() sf.combo.setModel(sf.model) sf.combo.setModelColumn(1) sf.layout.addWidget(sf.combo) sf.view2 = QtGui.QTableView() sf.view2.setModel(sf.model) sf.layout.addWidget(sf.view2) sf.combo2 = QtGui.QComboBox() sf.combo2.setView(sf.view2) sf.layout.addWidget(sf.combo2) sf.layout.addStretch() def fillmodel(sf): mass = [[1, "Один"], [2, "Два"], [3, "Три"], [4, "Четыре"], [5, "Пять"]] sf.model.setHorizontalHeaderItem(0, QtGui.QStandardItem("Номер")) sf.model.setHorizontalHeaderItem(1, QtGui.QStandardItem("Описание")) for number, string in mass: sf.model.setItem(number-1, 0, QtGui.QStandardItem(str(number))) sf.model.setItem(number-1, 1, QtGui.QStandardItem(string)) for i in range(sf.model.rowCount()): print (sf.model.item(i, 0).text(), sf.model.item(i, 1).text()) if __name__ == "__main__": import sys app = QtGui.QApplication(sys.argv) win = window() win.show() sys.exit(app.exec_())
Почему combo2 не желает показывать модель? Зачем у комбобокса есть метод setView тогда?