crossplatform.ru

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


  Ответ в QTextEdit и подсветка предложения.
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
molchanoviv Дата 10.11.2010, 10:50
  На русском языке это сделать не сложно вясняем позицию курсора мыши QCurosr::pos() затем с помощью QTextEdit::cursorForPosition(const QPoint & pos) получаем QTextCursor и вычленяем нужное предложение. От начала текста до точки, от точки до точки или от точки до конца текста. Кстати не в курсе как в китайском тексте а в японском точка обозначается как "。", так-что я думаю и в Китайском что-то такое есть. Составишь пару регулярок для отсечения текста до позиции курсора и после и укажешь в них в качестве разделителя (.|。|что-то еще).
hkarel Дата 9.11.2010, 11:43
 
Цитата(panter_dsd @ 8.11.2010, 18:37) *
Почитай про QSyntaxHighlighter.

Почитал. В принципе это могло бы подойти, но у меня имеется еще и динамическая составляющая - передвижение курсора мыши, так же есть подозрение, что QSyntaxHighlighter не позволит получить общее решение - об этом ниже.

Подробнее о задаче: программа выполняет перевод текста при помощи гугл-сервиса переводов. На входе у меня есть абзац состоящий из нескольких предложений. "Кормим" его серверу, в ответ получаем список пар предложений из этого абзаца. Каждая пара представляет оригинал-перевод. Если бы мы всегда получали русскоязычный перевод, то можно было бы определять границы предложения по первой заглавной букве и точке в конце предложения. Вариант решения - так себе, но какой есть... В общем же случае такое решение неприемлемо - предположим, что переводить будем на китайский... Вот если бы в начало и конец предложения можно было бы вставлять некие маркеры, по которым можно было бы определять область подсветки. Возможно это могли бы быть какие-то непечатаемые символы или, возможно, текст разграничить какими-то html-тегами. Это только идея, как реализовать это технически я пока не понимаю. Поэтому моя просьба о советах остается актуальной.
Litkevich Yuriy Дата 8.11.2010, 23:18
 
Цитата(panter_dsd @ 8.11.2010, 20:37) *
Почитай про QSyntaxHighlighter.
что-то я сомневаюсь, что он подойдёт
panter_dsd Дата 8.11.2010, 17:37
  Почитай про QSyntaxHighlighter.
hkarel Дата 8.11.2010, 17:13
  Здравствуйте.
Имеется произвольный текст. Текст может содержать несколько абзацев. В абзаце может быть несколько предложений.
Задача состоит в том, чтобы при перемещении курсора мыши над участками текста подсвечивалось предложение над которым находится курсор. Так же необходимо "понимать" какое предложение подсвечено, т.е. получать текст этого предложения, или любой адекватный идентификатор.
Если говорить об аналогиях, то переведенный текст (несколько предложений) на странице гугл-переводчика как раз реализуют заданное поведение.
В качестве реализации необязательно использовать QTextEdit, возможен любой наиболее подходящий компонент.
Надеюсь на советы опытных разработчиков!
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 19.4.2024, 11:15