Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: west от Июль 15, 2008, 13:15



Название: Посоветуйте компонент для работы с тестом(Qt3)
Отправлено: west от Июль 15, 2008, 13:15
Посоветуйте компонент (компоненты) для работы с тестом - надо организовать вывод текста, в котором строки могли бы подсвечиваться разными цветами, что-то вроде анализатора строк - где неправильно - там красненьким, где правильно - там синеньким. Ну и т.д. У меня мысль QScrollView + QLineEdit`ы на каждую строку, добавленные динамически по мере добавления текста. Но чего-то интерфейс руками ваять лень, а ScrollView  из дизайнера не добавляется - нет там такого объекта (или у меня руки из ж?  :) ). Исследовать вроде время нет... Заранее спасибо.


Дошло: QTextEdit  + QSyntaxHighlighter


Название: Re: Посоветуйте компонент для работы с тестом(Qt3)
Отправлено: Steven_Orko от Июль 15, 2008, 14:44
Как насчет QListView или QListBox???? Для вывода строчек разными цветами подходят идеально. Только подпилить надо...


Название: Re: Посоветуйте компонент для работы с тестом(Qt3)
Отправлено: Dodge от Июль 15, 2008, 14:47
Как насчет QListView или QListBox???? Для вывода строчек разными цветами подходят идеально. Только подпилить надо...
Костыль.

Цитировать
Дошло: QTextEdit  + QSyntaxHighlighter

Есть вариант использовать алтернативные текстовые редакторы с подсветкой синтаксиса. Я например люблю SciTE, и поэтому иногда использую виджет scintilla, для qt есть обертка: qscintilla.


Название: Re: Посоветуйте компонент для работы с тестом(Qt3)
Отправлено: Steven_Orko от Июль 15, 2008, 14:53
Как насчет QListView или QListBox???? Для вывода строчек разными цветами подходят идеально. Только подпилить надо...
Костыль.
Да с чего это???
Цитировать
Дошло: QTextEdit  + QSyntaxHighlighter

Есть вариант использовать алтернативные текстовые редакторы с подсветкой синтаксиса. Я например люблю SciTE, и поэтому иногда использую виджет scintilla, для qt есть обертка: qscintilla.
Ага, а это из пушки по воробьям. Человек же написал, что ему надо выводить строки текста разными цветами и только...
Может вы ему посоветуете еще и COM, ActiveX и т.д. использовать, чтобы сразу можно было в Word или Writer или еще куда выводить? ???  Вдруг пригодится!!!  ;)


Название: Re: Посоветуйте компонент для работы с тестом(Qt3)
Отправлено: Dodge от Июль 15, 2008, 15:27
Да с чего это???
Ага, а это из пушки по воробьям. Человек же написал, что ему надо выводить строки текста разными цветами и только...
Может вы ему посоветуете еще и COM, ActiveX и т.д. использовать, чтобы сразу можно было в Word или Writer или еще куда выводить? ???  Вдруг пригодится!!!  ;)
Читаю название темы:
Код:
Посоветуйте компонент для работы с тестом(Qt3)
Работа с текстом подразумевает не только его отображение но и редактирование, а изобретать многострочный редактор текса с подсветкой на базе QListView или QListBox ИМХО моразм.

Отсюда и совет про qscintilla. Если вы настолько консервативны, что использование сторонних библиотек - это "из пушки по воробьям", то это сугобо ваши проблемы ...  не навязывайте свой консерватизм остальным.  ;D


Название: Re: Посоветуйте компонент для работы с тестом(Qt3)
Отправлено: Red Devil от Июль 15, 2008, 16:10
Цитировать
void QTextEdit::setExtraSelections ( const QList<ExtraSelection> & selections )
This function allows temporarily marking certain regions in the document with a given color, specified as selections. This can be useful for example in a programming editor to mark a whole line of text with a given background color to indicate the existence of a breakpoint.

This function was introduced in Qt 4.2.
Так, если есть возможность перейти на новую версию Qt, то можно это использовать. Сам пробовал, нормально все выделяется.


Название: Re: Посоветуйте компонент для работы с тестом(Qt3)
Отправлено: Steven_Orko от Июль 15, 2008, 16:59
Читаю название темы:
Код:
Посоветуйте компонент для работы с тестом(Qt3)

Работа с текстом подразумевает не только его отображение но и редактирование, а изобретать многострочный редактор текса с подсветкой на базе QListView или QListBox ИМХО моразм.
Кто вам сказал, что работа с текстом - это обязательно его редактирование?? Это может быть и просто вывод!!!
Почитайте ВНИМАТЕЛЬНО мой пост. Я посоветовал именно для вывода!!!

Отсюда и совет про qscintilla. Если вы настолько консервативны, что использование сторонних библиотек - это "из пушки по воробьям", то это сугобо ваши проблемы ...  не навязывайте свой консерватизм остальным.  ;D
Мой консерватизм здесь не причем, и переходить на личности в данном случае - это хамство!!! Поставленную задачу:
Цитата: west
...надо организовать вывод текста, в котором строки могли бы подсвечиваться разными цветами...
я предложил решать с минимальными затратами.

А если действительно нужно интерактивное редактирование и т.д., то действительно более подходят ваши рекомендации...



Название: Re: Посоветуйте компонент для работы с тестом(Qt3)
Отправлено: Dodge от Июль 15, 2008, 21:06
Цитата: west
Кто вам сказал, что работа с текстом - это обязательно его редактирование??
Работа с тестом - подразумевает под собой и редактирование тоже.

Цитата: west
Это может быть и просто вывод!!!
Почитайте ВНИМАТЕЛЬНО мой пост. Я посоветовал именно для вывода!!!
Про вывод я ничего не писал, не надо передергивать. Я написал именно про комплексный подход (не просмотр, не редактирование, а все вместе).

Цитата: west
Мой консерватизм здесь не причем, и переходить на личности в данном случае - это хамство!!!
Я прошу прощения если задел вас, ни в коем случае это не являлось для меня целью. Но все же еще раз посмотрим тему:

Цитировать
Посоветуйте компонент для работы с тестом(Qt3)
Я считаю вопрос закрытым, давайте не будем разводить демагогию.


Название: Re: Посоветуйте компонент для работы с тестом(Qt3)
Отправлено: Mikhail от Июль 15, 2008, 21:19
Посоветуйте компонент (компоненты) для работы с тестом - надо организовать вывод текста, в котором строки могли бы подсвечиваться разными цветами, что-то вроде анализатора строк - где неправильно - там красненьким, где правильно - там синеньким. Ну и т.д. У меня мысль QScrollView + QLineEdit`ы на каждую строку, добавленные динамически по мере добавления текста. Но чего-то интерфейс руками ваять лень, а ScrollView  из дизайнера не добавляется - нет там такого объекта (или у меня руки из ж?  :) ). Исследовать вроде время нет... Заранее спасибо.


Дошло: QTextEdit  + QSyntaxHighlighter

Посмотри редактор qPEditor на www.anyqsoft.com.
Можно использовать и как плагин для дизайнера.
В его составе есть возможность проводить синтаксический анализ текста с подсветкой любым выбранным тобой цветом.
Настройка через встроенный редактр стилей.


Название: Re: Посоветуйте компонент для работы с тестом(Qt3)
Отправлено: west от Июль 15, 2008, 23:23
Цитировать
Посмотри редактор qPEditor на www.anyqsoft.com.
Наверно реальная тема, но мне надо строго Qt3. Отечественные програмно-аппаратные платформы рулят ;)
Вообще вариант с QTextEdit  + QSyntaxHighlighter прошел отлично, так как уже выведенную строчку менять не надо.
Спасибо всем!