将自定义换行行为添加到QPlainTextEdit小部件

时间:2018-07-05 06:07:52

标签: qt qtwidgets

我正在教授算法的设计和分析,我希望我的学生通过实现文本布局对齐来练习动态编程算法。我已经为文本编辑器实现了一个简单的Qt5 GUI,该文本编辑器可以利用我的学生的代码,因此他们可以不费吹灰之力就能拥有功能齐全的东西,但是我找不到自定义QPlainTextEdit小部件如何布置文本的方法。

我读了很多有关QTextDocumentQPlainTextDocumentLayoutQTextLayout和相关类的知识,但我只是不知道在哪里进行更改是正确的。我应该将其中之一归类吗?还是QPlainTextEdit本身?如果可以,该将自定义对象发送到哪里?

我希望我的学生提供一个有效的光标位置列表,编辑器应该在这些位置上以视觉方式将这些行换行,所以我想要的是一种“给”小部件这些位置而无需对换行符进行硬编码的方式。

修改

另一种表达方式:如何在QTextLayout中注入自定义QPlainTextEdit?还是在QTextEdit中,如果世界上没有希望了...?

PS

[*]我已经尝试扩展QPlainTextDocumentLayout,这是有效完成此工作的类,但是当我发现布局是在其PIMPL中完成并完全依赖于它时,我就放弃了,因此似乎不是一个选择。

0 个答案:

没有答案