xintrea
|
|
« : Январь 07, 2016, 02:20 » |
|
В QTextEdit есть стандартное поведение: печатающийся символ повторяет форматирование предыдущего символа. Это поведение разумно для обычного форматирования (bold, italic, и т.д.), но неудобно для работы со ссылками (анкорами, URL-ами) в тексте. Ссылки - это редкие и короткие гости в тексте.
Если в тексте в QTextEdit пару слов преобразовать в ссылку, и попытаться продолжить печатать обычный текст сразу после ссылки, то ничего не получится. Ссылка будет продолжать печататься, так как новые символы получают форматирование предыдущего символа.
И нужно сделать такое поведение: при нажатии Пробела или TAB сразу после ссылки - менять форматирование нового символа на обычный (без анкора). То же самое и при вставке из буфера обмена. А если нажатие Пробела или TAB происходит внутри ссылки - то ничего не делать, пускай это будет ссылка.
То есть, мне нужно каким-то образом отлавливать момент, когда появляется символ сразу после ссылки и подправлять его форматирование.
Вопрос: как отловить этот момент? Я не могу найти событие добавления символа, а обработка keyPressEvent() не поможет, ибо вставка символов возможна и из буфера обемна, и драганддропом, и хотелось бы универсальности.
|