【问题标题】:Why QAbstractTextDocumentLayout::documentChanged::from == -1?为什么 QAbstractTextDocumentLayout::documentChanged::from == -1?
【发布时间】:2017-05-20 22:32:29
【问题描述】:

我试图通过替换 QTextEdit::contentsChange 信号处理中的非大写块来强制 QTextEdit 中的大写(QTextCharBlockFormat 过去,已经尝试过)。在这里,我有一些条件块,它替换了整个块:

QTextCursor cur = textCursor();
cur.setPosition(block.position(), QTextCursor::MoveAnchor);
cur.setPosition(block.position() + capital_val.size(), QTextCursor::KeepAnchor);
cur.insertText(capital_val);

然后,在我的自定义 QAbstractTextDocumentLayout::documentChanged 中,我收到第一个参数 == -1。为什么?它应该等于 block.position()。

【问题讨论】:

    标签: qt layout qtextedit qtextcursor


    【解决方案1】:

    这是因为所有从 ::contentsChange 发起的文档编辑都必须延迟并从 ::textChanged 执行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-01
      • 1970-01-01
      • 2011-03-11
      相关资源
      最近更新 更多