Russian Qt Forum
Март 29, 2024, 08:27 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Добавление новой строки в QTableWidget  (Прочитано 6638 раз)
ruzik
Гость
« : Март 04, 2011, 16:09 »

Здравствуйте, а не подскажите где ошибка
Код:
QTableWidgetItem it0,it1,it2,it3;
it0.setText(timeEdit->text());
it1.setText(comboBox->currentText()+"/"+comboBox_2->currentText());
it2.setText(lineEdit->text());
it3.setText(tr("Yes"));
//table - указатель на QTableWidget
table->setRowCount(table->rowCount()+1);
table->setItem(table->rowCount(),0,&it0);
table->setItem(table->rowCount(),0,&it1);
table->setItem(table->rowCount(),0,&it2);
table->setItem(table->rowCount(),0,&it3);
Ошибок не выдает никаких, просто создает новую строку с пустыми столбами
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Март 04, 2011, 16:10 »

QTableWidgetItem созданы на стеке.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
ruzik
Гость
« Ответ #2 : Март 04, 2011, 16:48 »

Цитировать
QTableWidgetItem созданы на стеке.
А не могли бы вы поточнее рассказать, что именно вы подразумеваете:
1)Что item'ы в колонке созданы на стеке
2)Что item'ы в строке созданы в сткек
3)Что itemы во всей таблице созданы в стеке(это как-то сложно представить)
4)Что QTAbleWidgetItem имеет структуру стека(но смысл этого я не вижу)
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Март 04, 2011, 16:52 »

Не тупи. QTableWidgetItem it0,it1,it2,it3;
it0,it1,it2,it3 созданы на стеке и удаляться при выходе из области видимости.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
ruzik
Гость
« Ответ #4 : Март 04, 2011, 16:58 »

Не тупи. QTableWidgetItem it0,it1,it2,it3;
it0,it1,it2,it3 созданы на стеке и удаляться при выходе из области видимости.
Может я чего не так понял, но их значения отправляются в таблицу до их уничтожения
А если вы про то что надо заменить с QTableWidgetItem it0,it1,it2,it3;
На
   QTableWidgetItem it0;
   QTableWidgetItem it1;
   QTableWidgetItem it2;
   QTableWidgetItem it3;
То не помогло
P.S. пожалуйста не злитесь, сам понимаю что туплю
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #5 : Март 04, 2011, 17:01 »

В таблицу помещается указатель на QTableWidgetItem . Т.е. в твоем случае при выходе из функции это будет указатель на непонятно что. А значения никуда не отправляются.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
ruzik
Гость
« Ответ #6 : Март 04, 2011, 17:03 »

Спасибо, понял
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 22.