Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 30, 2016 21:33:03

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

Метод перевода значения и вида колонки(ячейки)

Есть таблица на форме QTableWidget (PyQt5, Python 3.4)
имеется словарик типа

data = {'Base1':[11,12,13],
                'Base2':[21,22,23],
                'Base3':[31,32,33],
                'Base4':[41,42,43],}
допустим 3 колонки значений
все замечательно запихивается в таблицу, но мне надо в 4й колонке добавить “галочки” типа бул. Гугление и документация не помогли(не понял), т.е как поменять колонку с текстом на колонку с булами?
ах да и после отметок на форме все желательно запихнуть в словарь типа
data = {'Base1':[11,12,13,True],
                'Base2':[21,22,23,True],
                'Base3':[31,32,33,False],
                'Base4':[41,42,43,True],}
как цифры запихнуть я понял или после перевода колонки на bool-значения True и False сами в словарь будут скидываться?

Офлайн

#2 Янв. 30, 2016 22:28:09

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

Метод перевода значения и вида колонки(ячейки)

# Галочка
item.setCheckState(QtCore.Qt.Checked)
# Нет галочки
item.setCheckState(QtCore.Qt.Unchecked)
# Текущее состояние (Checked или Unchecked)
item.checkState()



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

Офлайн

#3 Янв. 31, 2016 08:52:48

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

Метод перевода значения и вида колонки(ячейки)

Rodegast, спасибо, круто, а как на форме мне столбец в галочки преобразовать визуально?

Отредактировано Maxem (Янв. 31, 2016 08:53:32)

Офлайн

#4 Янв. 31, 2016 13:16:20

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

Метод перевода значения и вида колонки(ячейки)

В QTableWidget содержимое ячейки можно задавать только через item. Что-бы это происходило автоматически надо использовать QTableView с соответствующей моделью и делегатой.



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

Офлайн

#5 Янв. 31, 2016 15:22:28

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

Метод перевода значения и вида колонки(ячейки)

А каким методом присвоить ячейке тип сheckBox(или другое)

например ячейке 1-1

newitem = QTableWidgetItem()?????
или
newitem = ?????????               
self.tableWidget.setItem(0, 0, newitem)

Офлайн

#6 Янв. 31, 2016 15:52:19

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

Метод перевода значения и вида колонки(ячейки)

Можно устанавливать виджеты в ячейки, но в случаи с QTableWidget/QTreeWidget это может работать глючно.

# Установка виджета:
self.tableWidget.setCellWidget(0, 0, QtGui.QCheckBox())
# Получение виджета:
widget = self.tableWidget.cellWidget(0, 0) 



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

Отредактировано Rodegast (Янв. 31, 2016 15:52:32)

Офлайн

#7 Янв. 31, 2016 16:47:56

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

Метод перевода значения и вида колонки(ячейки)

не совсем так

# Установка виджета:
self.tableWidget.setCellWidget(0, 0, QtWidgets.QCheckBox())

Отредактировано Maxem (Янв. 31, 2016 16:48:10)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version