Я пытаюсь использовать QScintilla 2.8.3 вдоль Qt5.3 для создания небольшого текстового редактора, но у меня проблемы со свертыванием.
Как вы можете видеть здесь:
конец откидного блока не совпадает с закрывающим кронштейном.
Вот как я настраиваю лексер и складываю:
cpplexer->setDefaultFont( font );
cpplexer->setFoldAtElse( true );
cpplexer->setFoldComments( true );
cpplexer->setFoldCompact( true );
cpplexer->setFoldPreprocessor( true );
editor->setLexer( cpplexer );
editor->setFolding( QsciScintilla::BoxedTreeFoldStyle );
Возможно ли, чтобы конец блока находился на той же строке, что и закрывающая скобка? Есть флаг для этого или мне нужно что-то изменить в исходном коде QScintilla?
Вы просто установите setFoldCompact() к истине, документация говорит:
virtual void QsciLexerPostScript :: setFoldCompact (bool fold) [virtual, slot]
Если сгиб равен true, то в сгиб включаются конечные пустые строки
блок. По умолчанию это правда.
Выключите это, и вы будете хорошо идти.