Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Andrew Vladoff от Март 10, 2009, 15:35



Название: Изменение значений в таблице QtableWidget.
Отправлено: Andrew Vladoff от Март 10, 2009, 15:35
Нужно периодически изменять значения в определенных ячейках таблицы. Правильно ли я делаю?

Инициализация:
Код:
QTableWidgetItem *item[8];

void Statistics::CreateStatistics()
{
for(int i = 0; i<18; ++i)
  item[i] = new QTableWidgetItem();

}


Изменение:
Код:
void CStatistics::s_OnTimer(void)
{
  for (unsigned int i = 0; i<8; ++i)
   {
     item[i]->setData(Qt::DisplayRole, iPar[i]);
     tableWidget->setItem(0, i, item[i]);
   }
 
}


Меня смущает инициализация QTableWidgetItem *item[8]. А если я хочу динамически задавать количество полей в таблице?



Название: Re: Изменение значений в таблице QtableWidget.
Отправлено: spirit от Март 10, 2009, 15:42
тогда лучше использовать QList<QTableWidgetItem *> вместо массива.


Название: Re: Изменение значений в таблице QtableWidget.
Отправлено: Andrew Vladoff от Март 10, 2009, 21:14
А примерчиком не поделитесь? И как в плане быстродействия?


Название: Re: Изменение значений в таблице QtableWidget.
Отправлено: Magvaj от Март 10, 2009, 23:02
Меня смущает инициализация QTableWidgetItem *item[8]. А если я хочу динамически задавать количество полей в таблице?

а зачем их хранить отдельно? любые элементы таблицы можно получить по запросу QTableWidget::item(int row, int column).


Название: Re: Изменение значений в таблице QtableWidget.
Отправлено: spirit от Март 11, 2009, 09:07
Меня смущает инициализация QTableWidgetItem *item[8]. А если я хочу динамически задавать количество полей в таблице?

а зачем их хранить отдельно? любые элементы таблицы можно получить по запросу QTableWidget::item(int row, int column).
+1, абсолютно с этим согласен.