Загрузка большого текстового файла, Проблемы с загрузкой |
Здравствуйте, гость ( Вход | Регистрация )
Загрузка большого текстового файла, Проблемы с загрузкой |
ALeXUI |
17.12.2012, 23:13
Сообщение
#1
|
Студент Группа: Участник Сообщений: 19 Регистрация: 30.4.2011 Пользователь №: 2647 Спасибо сказали: 2 раз(а) Репутация: 0 |
Здравствуйте, столкнулся со следующей проблемой.
Необходимо загрузить и обработать, большой текстовый файл, примерно 20 мб. И желательно его вывести, например, в qtextedit или что-нибудь подобное. Самы простой вариант дико загружает компьютер:
Подскажиет пожалуйста, как это сделать лучше? Нужно распарсить каждую строчку, там находятся данные, по которым строить графики. |
|
|
_Vitaliy_ |
18.12.2012, 19:54
Сообщение
#2
|
Студент Группа: Участник Сообщений: 59 Регистрация: 20.11.2008 Пользователь №: 428 Спасибо сказали: 3 раз(а) Репутация: 0 |
У меня данные в строке разделялись как минимум одним пробелом. Если у Вас это так, то действовать можно по следующему алгоритму.
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(); удобно тем, что данные хранятся в модели, а с моделью довольно просто работать. |
|
|
Текстовая версия | Сейчас: 26.11.2024, 22:10 |