QTextCursor и подсветка текста в QPlainTextEdit, непонятное поведение при выделении текста |
Здравствуйте, гость ( Вход | Регистрация )
QTextCursor и подсветка текста в QPlainTextEdit, непонятное поведение при выделении текста |
Kroll |
17.11.2015, 7:24
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 7.12.2011 Пользователь №: 3049 Спасибо сказали: 0 раз(а) Репутация: 0 |
В QWidget засунут QPlainTextEdit с текстом внутри. ReadOnly. Так же рядом есть спинбокс с диапазоном длинны строки текста загруженного в QPlainTextEdit.
Мышью кручу спинбокс и от этого единственный символ выделенный инверсивным цветом ездит туда сюда. Это нормальное задуманное поведение, которое реализовано соединением спинбокса с вот таким слотом в основном виджете:
textCursor создан в конструкторе базового виджета:
То есть у plainTextEdit остаётся и свой курсор отдельно. QTextCharFormat charFormat тоже отдельный для инверсивного выделения, а родным я делаю сброс выделения на обычные цвета. Собственно проблема: Всё работает как задумано ровно до того момента, когда я ткну мышью в текст. И как только рабочий курсор с выделением доезжает до этой позиции, то выделение перестаёт стираться и красит всё, где побывает курсор. Если при этом ткнуть мышью в новое ещё не закрашенное место текста, то курсор с выделением начинает затирать всё после себя пока снова не дойдёт до нового места, куда я ткнул мышью и стирание опять исчезнет. Если текст весь закрасился, то нормальное поведение востановить не получается. Каким образом не используемый мной в алгоритме подсветки родной курсор вмешивается в его работу? Qt 4.8.4 |
|
|
Текстовая версия | Сейчас: 29.11.2024, 15:21 |