Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Cepera от Июль 06, 2004, 10:31



Название: QTextEdit: как изменить расстояние между строк?
Отправлено: Cepera от Июль 06, 2004, 10:31
Мне требуется доработать QTextEdit - требуется сделать из него навороченный редактор исходников - раскрывающиеся функции, составные операторы (примерно как редакторе в VS.Net).

В голову пришло 2 варианта решения:
  1. Вставить в режиме RichText картинки с элементами древовидной структуры.
  2. Предусмотреть свободное место в тексте и поверх нарисовать ручками все что надо.

При реализации первого варианта возникла следующая проблема - QTextEdit оставляет свободное место между картинками и таким образом структура дерева разрывается. И соответсвенно требуется изменять расстояние между строками, точнее уменьшить его до 0.
Как я понимаю существует 2 решения этой проблемы - переопределение функций drawContents(), drawContentsOffset(), drawFrame(), drawText() или использование QStyleSheetItem,  QStyleSheet.

Со вторым способом отрисовки предется решать теже проблемы похоже.

Возможно есть еще какие-то варианты решения?

При реализиции помимо визуализации понадобится и внутреннюю логику разрабатывать в связи с чем возникает такой вопрос есть ли какая-нибудь документация или наработки по использованию внутренних недокументированных классов типа QTextDocument, QTextParagraph и других используемых в редакторе в Qt Designer и в редакторе QSA.

В атачмент положил скриншот того, что получилось при вставлянии картинок в текст.