Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 28, 2016 17:17:27

Maxem
Зарегистрирован: 2016-01-23
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу разобраться с заполнением таблицы PyQt5

Всем доброго дня, проблема с заполнением таблицы.

   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)
PyQt5, Python 3.4. Тыкните где не то. Заранее спасибо.

Офлайн

#2 Янв. 28, 2016 17:48:24

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2843
Репутация: +  186  -
Профиль   Отправить e-mail  

Не могу разобраться с заполнением таблицы PyQt5

У self.tableWidget надо установить количество столбцов и колонок при помощи методов setRowCount и setColumnCount



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#3 Янв. 28, 2016 17:53:54

Maxem
Зарегистрирован: 2016-01-23
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу разобраться с заполнением таблицы PyQt5

   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)
так тоже не работает

Офлайн

#4 Янв. 28, 2016 18:40:28

Maxem
Зарегистрирован: 2016-01-23
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу разобраться с заполнением таблицы PyQt5

Вот так заполняет заголовки и не ругается, но ячейки пустые

    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)
Ничего не понимаю….

Офлайн

#5 Янв. 28, 2016 18:59:31

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2843
Репутация: +  186  -
Профиль   Отправить e-mail  

Не могу разобраться с заполнением таблицы PyQt5

newitem = QTableWidgetItem()
self.tableWidget.setItem(m, n, newitem)
self.tableWidget.item(m, n).setText(item)



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#6 Янв. 28, 2016 19:22:53

Maxem
Зарегистрирован: 2016-01-23
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу разобраться с заполнением таблицы PyQt5


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")

тоже не пашет

Офлайн

#7 Янв. 28, 2016 19:31:20

Maxem
Зарегистрирован: 2016-01-23
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу разобраться с заполнением таблицы PyQt5

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)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version