crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

karik111
  опции профиля:
сообщение 23.9.2011, 15:43
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 5
Регистрация: 23.9.2011
Пользователь №: 2903

Спасибо сказали: 0 раз(а)




Репутация:   0  


Добрый день! Создана таблица с помощью QTableWidget. Заполняется следующим образом:

 for (int k=0; k<10; k++)
    {
        QTableWidgetItem *t = new QTableWidgetItem("1");

        ui->tableWidget->setItem(k,0,t);
    }


Также есть таймер, который через секунду считывает значения с таблицы используя данный код:
void MainWindow::fert()
{
 for (int k=0; k<10; k++)
    {
           QString text;
           QTableWidgetItem *t = new QTableWidgetItem();
            t=ui->tableWidget->item(0,0);
            text = t->text();
            if(text == "1")
            {
                n++;
            }

            //delete t;
     }

    v++;
   ui->lineEdit->setText(QString::number(n));
   n=0;
}


После каждого тика, память растет, как очистить память? Делитом не помогает как представлено в коде, выдает ошибку..
Причина редактирования: Используй тег code
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
silver47
  опции профиля:
сообщение 23.9.2011, 20:28
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 1.4.2010
Пользователь №: 1584

Спасибо сказали: 40 раз(а)




Репутация:   6  


Ну первое, это запустите в режиме деббагинга и дождитесь когда вылетит, а второе - считается хорошим тоном обнулять указатель до создания объекта и после его удаления.

QString text;
QTableWidgetItem *t = new QTableWidgetItem();
t=ui->tableWidget->item(0,0);
text = t->text();
if(text == "1")
{
    n++;
}
delete t;
t =0;

А я бы сделал так:
text = ui->tableWidget->item(0,0).text();
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 10.6.2025, 11:24