crossplatform.ru

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

История благодарностей участнику _Vitaliy_ ::: Спасибо сказали: 3 раз(а)
Дата поста: В теме: За сообщение: Спасибо сказали:
18.12.2012, 19:54 Загрузка большого текстового файла
У меня данные в строке разделялись как минимум одним пробелом. Если у Вас это так, то действовать можно по следующему алгоритму.
1. в *.h пишем: QStandardItemModel *model;
2. в *.cpp в конструкторе: model = new QStandardItemModel(this);
3. здесь привожу часть своего рабочего кода (некоторые "вещи" опущены) главное уловить смысл
Раскрывающийся текст
int currentRow = 0;
QCoreApplication::processEvents(); // chtobi prilozhenie ne zavisal

QStandardItem *item = 0;
while (!stream.atEnd())
{
fields = stream.readLine().simplified().split(' '); // razdelitel !!!
for (int i = 0; i < columnCount; ++i)
{
item = new QStandardItem(fields.at(i));
model->setItem(currentRow, i, item);
}
++currentRow;
}

4. далее по коду, например у меня это было отдельное окно
Раскрывающийся текст
QDialog *dialog = new QDialog(this);
dialog->setAttribute(Qt::WA_DeleteOnClose);
dialog->setWindowTitle("Data ...");
...

QTableView *view = new QTableView(dialog); /// QTableView (&dialog)
view->setModel(model);
...

dialog->show();

удобно тем, что данные хранятся в модели, а с моделью довольно просто работать.
ALeXUI,
27.11.2012, 19:10 Как нынче ставить Qt?
Не на правах рекламы: Установка MinGW и Установка Qt Creator
gvido, Алексей1153,

RSS Текстовая версия Сейчас: 28.2.2020, 14:44