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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTableWidget заполнение таблицы  (Прочитано 12054 раз)
Int main()
Гость
« : Июль 27, 2013, 14:31 »

Всем хай) Что-то не получается заполнить таблицу. Есть текстовый файл, в котором 1я строчка, например, дата, 2я строчка - время, 3я - пользователь и т.д. К примеру, я хочу заполнить нулевую строку(визуально она первая). Соответствено файлу есть колонки таблицы: дата, время и т.д. Создавал таблицу через дизайнер. Вроде по логике код правильный код, но почему-то заполняется лишь одна ячейка(строка 0, колонка 0), с содержимым самой последней строчки текстового файла:
QString line;
QTableWidgetItem *item = new QTableWidgetItem();
QFile file(QApplication::applicationDirPath()+"/log.txt");
    if(file.open(QIODevice::ReadOnly | QIODevice::Text))
    {
        QTextStream textStream(&file);

        for(int i = 0; !textStream.atEnd(); i++)
        {
            line = file.readLine();
            item->setText(line);
            ui->tableWidget->setItem(0,i,item);
        }
        file.close();
    }
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #1 : Июль 27, 2013, 16:47 »

Потому, что для каждой ячейки нужно создавать свой элемент QTableWidgetItem:
Код
C++ (Qt)
   QString line;
   QFile file(QApplication::applicationDirPath()+"/log.txt");
   if(file.open(QIODevice::ReadOnly | QIODevice::Text))
   {
       QTextStream textStream(&file);
 
       for(int i = 0; !textStream.atEnd(); i++)
       {
           line = textStream.readLine();    // Читать лучше из потока, если уже его создали. :)
           QTableWidgetItem *item = new QTableWidgetItem();
           item->setText(line);
           ui->tableWidget->setItem(0,i,item);
       }
       file.close();
   }
 
Записан
Int main()
Гость
« Ответ #2 : Июль 27, 2013, 18:35 »

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


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