Russian Qt Forum

Qt => Общие вопросы => Тема начата: moze от Апрель 01, 2013, 13:53



Название: как реализовать (я новичек)
Отправлено: moze от Апрель 01, 2013, 13:53
Добрый день!
Есть задача:
В plaintextedit пользователемпереодически вставляется "полотно" текста , лог. Необходимо его отсортировать и данные (время , событие) и вывести в 3 разных таблицы( конечных данных не очень много , строк 50). Данные из таблицнужно сохранять.
Вопрос:
1. Можно ли в plaintextedit обратиться к i-ой строке, узнать количество строк?
2. Имеет ли смысл делать sql базу для такого маленького количества итоговых данных?
3. Можете предложить своё решение задачи ?

п.с. В дельфи сделал бы через memo и stringist а в Qt не могу с ориентироваться..  ???




Название: Re: как реализовать (я новичек)
Отправлено: carrygun от Апрель 02, 2013, 05:15
1. Можно ли в plaintextedit обратиться к i-ой строке, узнать количество строк?

Можно узнать количество блоков (абзацев) и обращаться к каждому из них, если получить document() от QPlainTextEdit. Пройдитесь по методам в справке.


Название: Re: как реализовать (я новичек)
Отправлено: dilshodm от Апрель 02, 2013, 13:05
1. Можно ли в plaintextedit обратиться к i-ой строке, узнать количество строк?

Можно узнать количество блоков (абзацев) и обращаться к каждому из них, если получить document() от QPlainTextEdit. Пройдитесь по методам в справке.

Можно получить список строк:
QStringList list = plainTextEdit->toPlainText().split('\n', QString::SkipEmptyParts);


Название: Re: как реализовать (я новичек)
Отправлено: carrygun от Апрель 02, 2013, 13:15
Ну это совсем крайний случай.


Название: Re: как реализовать (я новичек)
Отправлено: Bepec от Апрель 02, 2013, 13:59
Внесу свежую струю.

Код:
ui.lineEdit_lineCount->setText(ui.plainTextEdit->document()->lineCount ());

Мб так проще? :)


Название: Re: как реализовать (я новичек)
Отправлено: Fregloin от Апрель 03, 2013, 12:03
Еще проще можно сделать через QListWiget если текст не нужно редактировать,
результаты есть смысл хранить в QTableWidget, нужные данные задавать в item.setData(QVariant::fromValue(ваши данные)), как для хранения небольшого объема данных читаю то что нужно
либо же создавать sql таблицы в памяти (кешировать, как сделать не знаю, но думаю что реально)