我有一个QTextEdit文档,每个打印文件的大小都不同。在文档的中间,我只有很少的文本块在用户眼中不可分割,并且如果文档的大小相等,我必须保护自己的文本块不会分成两页。你有什么解决办法吗?

最佳答案

我是Qt的忠实拥护者,但我还没有机会使用QTextEdit。不过,我想提供帮助,所以我仔细阅读了文档。

如果您使用的是Qt的最新版本,则应该发现QTextEdit具有关联的QTextDocument,并且似乎可以找到您想要的功能。 QTextDocument是框架和块的层次结构。块相当于您上面提到的段落。

该文档似乎表明您可以指定将块包装在框架中。然后,您应该能够使用QTextFrame::setFrameFormat设置框架的格式。这种格式将允许您使用一些标志来指定分页策略。指定的标志是PageBreak_Auto,PageBreak_AlwaysBefore和PageBreak_AlwaysAfter。

在我看来,如果同时为框架设置PageBreak_AlwaysBefore和PageBreak_AlwaysAfter标志,则您的块应该保持在一起。

我意识到这是一个相当复杂的系列。我希望它会有所帮助,并且真的很想听听它是否有效。

关于c++ - 如何在QTextEdit中将当前页面末尾的几个不可分割的文本块放在一起(全部放在下一页)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/635812/

10-11 22:54