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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Добавление и удаление строк  (Прочитано 12379 раз)
Goshman
Гость
« : Июль 07, 2009, 05:42 »

Добрый день! Посоветуйте, пожалуйста, Qt-ный компонент для для вывода текста. Особого функционала не требуется за исколючением возможности добавлять строки и удалять их из начала текста, например,  если их количество больше 100. Нужен примерный аналог дельфишного TMemo с его lines.add("строка") и lines.delete(0). Очень приветсвуется его наличие в Qt Designer.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Июль 07, 2009, 11:21 »

TMemo - это список если я правильно помню.
Посмотри QListWidget, логика работы проста (самодостаточный виджет).

Либо, для большого кол-ва данных, QListView + модель
Записан

Юра.
spectre71
Гость
« Ответ #2 : Июль 07, 2009, 11:57 »

TMemo - это список если я правильно помню.

Нет - это аналог QPlainTextEdit
Записан
Goshman
Гость
« Ответ #3 : Июль 07, 2009, 12:07 »

TMemo - это список если я правильно помню.
Посмотри QListWidget, логика работы проста (самодостаточный виджет).
Да, спасибо. Слепил добавление и удаление  за пару минут.

Либо, для большого кол-ва данных, QListView + модель
А большое количество данных это сколько? Мне нужно держать на экране порядка 100 последних строк (длина строки не больше 30 символов).
Записан
Goshman
Гость
« Ответ #4 : Июль 07, 2009, 12:08 »

TMemo - это список если я правильно помню.

Нет - это аналог QPlainTextEdit
Смотрел QPlainTextEdit, но, к сожалению так и не увидел как работать со строками (удаление) в явном виде.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #5 : Июль 07, 2009, 12:19 »

>>А большое количество данных это сколько?
А хоть пару-тройку милионов, из БД например или жирных лог файлов
Записан

Юра.
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #6 : Июль 07, 2009, 12:20 »

>>Нет - это аналог QPlainTextEdit
он помоему более навернутый чем TMemo.

В моём представлении это так по возрастании навёрнутости:
QListWidget -> TMemo -> QPlainTextEdit
Записан

Юра.
Goshman
Гость
« Ответ #7 : Июль 07, 2009, 12:26 »

>>Нет - это аналог QPlainTextEdit
он помоему более навернутый чем TMemo.

В моём представлении это так по возрастании навёрнутости:
QListWidget -> TMemo -> QPlainTextEdit
Однако я не нашел как в QPlainTextEdit работать со строками.

Тем не менее поставленная задача успешно решена на базе QListWidget. Большое спасибо за помощь.
Записан
spectre71
Гость
« Ответ #8 : Июль 07, 2009, 12:28 »

>>Нет - это аналог QPlainTextEdit
он помоему более навернутый чем TMemo.

В моём представлении это так по возрастании навёрнутости:
QListWidget -> TMemo -> QPlainTextEdit
QPlainTextEdit - более навороченый чем TMemo, и к сожалению в QT проще нет.
QListWidget - никаким боком здесь не лезет, QListWidget - список, QPlainTextEdit(TMemo) - текстовые редакторы!

Если нет необходимости в редактировании ТЕКСТА(не отдельных строк) - используй QListWidget или QListView/QAbstractItemModel.
Записан
denka
Гость
« Ответ #9 : Июль 07, 2009, 12:54 »

Добавлять/удалять строки в QPlainTextEdit можно поиграв немного с QTextCursor
Записан
shadone
Гость
« Ответ #10 : Июль 10, 2009, 19:14 »

QPlainTextEdit как раз для этого не предназначен - возможность ограничить количество строк (или "блоков") имеется изначально - setMaximumBlockCount, appendPlainText, appendHtml и далее.
Записан
kadr
Гость
« Ответ #11 : Июль 26, 2009, 19:30 »

Привет всем, у меня есть вопрос, как в ListWidget можно удалить заданную строку, например 3 или 4, никак не могу найти как это можно сделать! Я выделяю мышкой нужную строку, с помощью функции currentRow() получаю номер этой строки, и надо сделать так что бы эта строка удалилась! Помогите!  Непонимающий

 
Записан
Karl-Philipp
Гость
« Ответ #12 : Июль 26, 2009, 19:37 »

Привет всем, у меня есть вопрос, как в ListWidget можно удалить заданную строку, например 3 или 4, никак не могу найти как это можно сделать! Я выделяю мышкой нужную строку, с помощью функции currentRow() получаю номер этой строки, и надо сделать так что бы эта строка удалилась! Помогите!  Непонимающий

Цитата: assistant
To remove items from the list, use takeItem().
Записан
kadr
Гость
« Ответ #13 : Июль 26, 2009, 19:44 »

О спасибо, действительно не подумал бы что takeitem() будет удалять строки!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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