Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » PyQt4 + Python3. QTableWidget.addItem Как в ячейку поместить значение? [RSS Feed]

#1 Ноя. 29, 2011 06:37:20

Пытон
От:
Зарегистрирован: 2011-11-27
Сообщения: 36
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt4 + Python3. QTableWidget.addItem Как в ячейку поместить значение?

from PyQt4 import QtCore, QtGui, uic
import sys

app = QtGui.QApplication(sys.argv)
form = uic.loadUi("table.ui")

form.table.setColumnCount(4)
headerslist = ["Первый", "Второй", "Третий", "Четвёртый"]
form.table.setHorizontalHeaderLabels(headerslist)
form.table.insertRow(0)
form.table.insertRow(1)
form.table.Я ему говорю: значение надо в ячейку поместить, допустим в (0,0). А он говорит: перебьёшься! Мне недосуг.

form.show()
sys.exit(app.exec_())
1. Как поместить значение в ячейку с указанными координатами? setItem(0,0, “Покусаю!”) не работает.
2. Возможно ли сразу вставить список как строку таблицы? Каждый элемент списка в отдельный столбец, по порядку.



Отредактировано (Ноя. 29, 2011 08:34:16)

Офлайн

#2 Ноя. 29, 2011 08:33:32

Пытон
От:
Зарегистрирован: 2011-11-27
Сообщения: 36
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt4 + Python3. QTableWidget.addItem Как в ячейку поместить значение?

qitem = QtGui.QTableWidgetItem("бабац!")
form.table.setItem(0,0, qitem)
Вот как сделал. Бяка! Не люблю такие заморочки!
Кстати
qitem = QtGui.QTableWidgetItem(14)
цифру в ячейку не поместит. QTableWidget принимает только строковые значения?



Офлайн

#3 Ноя. 29, 2011 09:27:10

Пытон
От:
Зарегистрирован: 2011-11-27
Сообщения: 36
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt4 + Python3. QTableWidget.addItem Как в ячейку поместить значение?

Почему это работает, в pr помещается текст текущей ячейки,

pr = form.table.currentItem().text()
а это НЕ работает. В текущую ячейку ничего не помещается.
pr2 = QtGui.QTableWidgetItem("ТЫНЦ!")
form.table.setCurrentItem(pr2)
Полный текст кода:
from PyQt4 import QtCore, QtGui, uic
import sys

def bumba():
pr = form.table.currentItem().text()
print(pr)
pr2 = QtGui.QTableWidgetItem("ТЫНЦ!")
form.table.setCurrentItem(pr2)
form.table.setItem(0,0, pr2)



app = QtGui.QApplication(sys.argv)
form = uic.loadUi("table.ui")

form.table.setColumnCount(4)
headerslist = ["Первый", "Второй", "Третий", "Четвёртый"]
form.table.setHorizontalHeaderLabels(headerslist)
form.table.insertRow(0)
form.table.insertRow(1)
valueslist = ["1-бум","2-хлоп","3-бац","4-грох","5-бамс","6-тыдыщ","7-бабах","8-трах"]
iii = 0
for i in valueslist:
for ii in range(0,4):
qitem = QtGui.QTableWidgetItem(i)
form.table.setItem(ii,iii, qitem)
iii+=1

form.table.itemClicked.connect(bumba)

form.show()
sys.exit(app.exec_())



Офлайн

#4 Ноя. 29, 2011 09:31:42

Пытон
От:
Зарегистрирован: 2011-11-27
Сообщения: 36
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt4 + Python3. QTableWidget.addItem Как в ячейку поместить значение?

Ау? Кто-нибудь дома?



Офлайн

#5 Ноя. 30, 2011 16:01:55

Пытон
От:
Зарегистрирован: 2011-11-27
Сообщения: 36
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt4 + Python3. QTableWidget.addItem Как в ячейку поместить значение?

Я всё ещё надеюсь на ответ.



Офлайн

#6 Ноя. 30, 2011 23:19:41

Studentik
От:
Зарегистрирован: 2009-12-26
Сообщения: 99
Репутация: +  0  -
Профиль   Отправить e-mail  

PyQt4 + Python3. QTableWidget.addItem Как в ячейку поместить значение?

setCurrentItem делает не то, что setItem, а делает текущим item, переданный в параметре функции

void QTableWidget::setCurrentItem(QTableWidgetItem *item)
{
Q_D(QTableWidget);
setCurrentIndex(d->tableModel()->index(item));
}

void QTableWidget::setItem(int row, int column, QTableWidgetItem *item)
{
Q_D(QTableWidget);
if (item) {
if (item->view != 0) {
qWarning("QTableWidget: cannot insert an item that is already owned by another QTableWidget");
} else {
item->view = this;
d->tableModel()->setItem(row, column, item);
}
} else {
delete takeItem(row, column);
}
}



Офлайн

  • Начало
  • » GUI
  • » PyQt4 + Python3. QTableWidget.addItem Как в ячейку поместить значение?[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version