我知道如何在QTextEdit中创建一个列表(参见下面的代码,这是最重要的部分)。我想知道我是否可以创建一个编号列表,从特定数字开始。
例如,每次制作一个列表时:
但我想知道qt是否支持列表
在文档中,有QTextListFormat :: setNumberPrefix,但在我看来,数字之前出现了什么。感谢。
中央功能:
void CreateQuestionForm::list(bool checked, QTextListFormat::Style style) {
QTextCursor cursor = ui->f_textedit->textCursor();
cursor.beginEditBlock();
if (!checked) {
QTextBlockFormat obfmt = cursor.blockFormat();
QTextBlockFormat bfmt;
bfmt.setIndent(obfmt.indent());
cursor.setBlockFormat(bfmt);
} else {
QTextListFormat listFmt;
if (cursor.currentList()) {
listFmt = cursor.currentList()->format();
}
listFmt.setStyle(style);
cursor.createList(listFmt);
}
cursor.endEditBlock();
}
答案 0 :(得分:0)
QTextListFormat
的功能。
每个块的编号样式。
它不会被keyEvents删除。
鼠标指针和键光标指针不在数字的前面和后面。
块缩进是标准化的。
不用QTextListFormat
1。进行决定您喜欢的号码的功能。
这取决于您的计划。
在大多数情况下,您控制QTextCursor
并捕获其他数字信息。
然后您决定新的号码。我是这样。
2。覆盖键事件。
尤其是,您要注意Key_Backspace
和Key_Delete
,因为这会删除头的编号。
要防止其删除,请在(1或2)的blockInPosition
处停止键盘操作。
因为要写 1。,依此类推。
要在条件句上写返回。
3。覆盖mouseEvents。
如果要将textCursor放在块的开始,则必须注意它。 如果要单击该位置,请抓住文本光标,然后将其迅速移至正确位置并设置光标。
2&3可以阻止其选择。
4。为要插入的块设置缩进。
您可以在要插入列表时设置缩进。最终,我认为QTextListFormat的缩进是由该缩进制成的。
您应该停止专心QTextListFormat
。
如果您敢使用它,可以使用createList()和QTextListFormat
的空样式格式。
由于一次确定样式,因此必须遵循自动项目符号。
您的选择都需要我的建议。