crossplatform.ru

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

> Очистка памяти QTableWidgetItem
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
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Strikevld
  опции профиля:
сообщение 27.9.2011, 15:42
Сообщение #2


Студент
*

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

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




Репутация:   0  


Цитата(karik111 @ 23.9.2011, 19:43) *
Добрый день! Создана таблица с помощью 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;
}


После каждого тика, память растет, как очистить память? Делитом не помогает как представлено в коде, выдает ошибку..


Зачем же так усложнять! И кстати BRE прав! Подучи получше что значит указатель в С++
Пиши так

void MainWindow::fert()
{
for (int k=0; k<10; k++)
{
QString text = ui->tableWidget->item(0,0).text();
if(text == "1")
{
n++;
}
}

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

;)

Блин пробелы чета стёрлись!
Сам расставь!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




RSS Текстовая версия Сейчас: 27.2.2025, 12:47