在带有项目符号的html列表中,通过format.setFontPointSize()更改fontsize时,项目符号驱逐出编辑器。如果我将padding-left设置为1em(在html编辑器中尝试过这个),我发现子弹在fontsize-change上保持相同的位置。 如何在Qt中为列表条目实现此目的?我可以只将其设置为像素值而不是元素值吗?
fmt=cur.charFormat()
charSize=fmt.fontPointSize()
if charSize==0.0:
charSize=14
if direction=="up":
fmt.setFontPointSize(charSize+1)
if textList:
blockFormat=cur.blockFormat()
#blockFormat.setLeftMargin(blockFormat.leftMargin()+0.4)
blockFormat.setLeftMargin(1em)
cur.mergeBlockFormat(blockFormat)
else:
fmt.setFontPointSize(charSize-1)
if textList:
blockFormat=cur.blockFormat()
#blockFormat.setLeftMargin(blockFormat.leftMargin()-0.4)
blockFormat.setLeftMargin(1em)
cur.mergeBlockFormat(blockFormat)
cur.mergeCharFormat(fmt)
答案 0 :(得分:0)
您可以在正在创建的QTextDocument实例中设置文本列表的默认缩进(我认为默认值为40)。此值的倍数将用于列表中的每个缩进级别。
QTextDocument *doc = new QTextDocument();
doc->setIndentWidth(20);
QTextCursor *cursor = new QTextCursor(doc);
QTextListFormat listFormat;
listFormat.setIndent(1); // First indent level, indent is 20
cursor->insertList(listFormat);
// Insert items into the list
listFormat.setIndent(2); // Second indent level, indent is 40
cursor->insertList(listFormat);
// Insert nested list items