QString用第一行

时间:2017-04-13 10:04:40

标签: c++ qt

我有多行QString例如

QString str1;
str1="match \n" "case \n" "end match;";

当插入字符串时,我希望插入新行以及第一行的缩进。例如,输出应为

   match
   case
   end match;

但是当我插入字符串时,我实际上得到了这个输出,第一行正确缩进,下两行没有缩进

        match
  case
  end match;

如何做到这一点,任何建议

我正在做的当前尝试如下

QTextCursor cursor = textCursor();
 const QTextBlock previousBlock = cursor.block().previous();
QString indentText = previousBlock.text();
cursor.beginEditBlock();
cursor.insertText(indentText.left(tabSettings.firstNonSpace(indentText)));
cursor.endEditBlock();
setTextCursor(cursor);

我想要做的是,我抓住前一段代码,当用户按下输入时,光标设置为该位置,当我输入单行字符串时,根据缩进正确插入,多线字符串以某种方式插入换行符时我必须强制第二行和其余行遵循第一行缩进行为

0 个答案:

没有答案