Форум сайта python.su
0
Всем доброго дня, проблема с заполнением таблицы.
def getBases(self): data = {'Base1':[11,12,13], 'Base2':[21,22,23], 'Base3':[31,32,33], 'Base4':[41,42,43],} return data def pushButton_fillTable(self): data = self.getBases() horHeaders = [] for n, key in enumerate(sorted(data.keys())): horHeaders.append(key) for m, item in enumerate(data[key]): newitem = QTableWidget(item) self.tableWidget.setItem(m, n, newitem) self.tableWidget.setHorisontalHeaderLabels(horHeaders)
Офлайн
186
У self.tableWidget надо установить количество столбцов и колонок при помощи методов setRowCount и setColumnCount
Офлайн
0
def getBases(self): data = {'Base1':[11,12,13], 'Base2':[21,22,23], 'Base3':[31,32,33], 'Base4':[41,42,43],} return data def pushButton_fillTable(self): data = self.getBases() self.tableWidget.setRowCount(3) self.tableWidget.setColumnCount(4) horHeaders = [] for n, key in enumerate(sorted(data.keys())): horHeaders.append(key) for m, item in enumerate(data[key]): newitem = QTableWidget(item) self.tableWidget.setItem(m, n, newitem) self.tableWidget.setHorisontalHeaderLabels(horHeaders)
Офлайн
0
Вот так заполняет заголовки и не ругается, но ячейки пустые
def getBases(self): data = {'Base1':[11,12,13,14], 'Base2':[21,22,23,24], 'Base3':[31,32,33,34], 'Base4':[41,42,43,44],} return data def pushButton_fillTable(self): data = self.getBases() self.tableWidget.setRowCount(4) self.tableWidget.setColumnCount(4) horHeaders = [] for n, key in enumerate(sorted(data.keys())): horHeaders.append(key) for m, item in enumerate(data[key]): newitem = QTableWidgetItem() self.tableWidget.setItem(m, n, newitem) self.tableWidget.setHorizontalHeaderLabels(horHeaders)
Офлайн
186
newitem = QTableWidgetItem() self.tableWidget.setItem(m, n, newitem) self.tableWidget.item(m, n).setText(item)
Офлайн
0
Rodegast
newitem = QTableWidgetItem()
self.tableWidget.setItem(m, n, newitem)
self.tableWidget.item(m, n).setText(item)
a = self.tableWidget.item(1,2) a.setText("12")
Офлайн
0
Rodegast, спасибо за участие.
Вот так пашет!
def getBases(self): data = {'Base1':[11,12,13,14], 'Base2':[21,22,23,24], 'Base3':[31,32,33,34], 'Base4':[41,42,43,44],} return data def pushButton_fillTable(self): data = self.getBases() self.tableWidget.setRowCount(4) self.tableWidget.setColumnCount(4) # horHeaders = ['111','222','333','444'] horHeaders = [] for n, key in enumerate(sorted(data.keys())): horHeaders.append(key) for m, item in enumerate(data[key]): newitem = QTableWidgetItem() self.tableWidget.setItem(m, n, newitem) newitem.setText(str(item)) self.tableWidget.setHorizontalHeaderLabels(horHeaders)
Отредактировано Maxem (Янв. 28, 2016 19:31:42)
Офлайн