Qt富文本中如何在span级别使用padding、margin等?

She*_*eto 7 html css python pyside pyside6

对于我的 QTextEdit,我想带来一些非常基本的嵌套突出显示,这是我在W3Schools“尝试一下!”上搞砸时制作的。看起来像这样。

“W3Schools”结果

据我所知,我只使用了Qt支持的 HTML 子集中的内容(请参阅下面代码中的 HTML,仅使用填充、边距和背景颜色)。

我无法获得类似的渲染,只有背景颜色似乎有效。

我创建了一个新项目,使用硬编码的 HTML/样式而不是我的程序生成进行简单的测试,但它仍然没有按应有的方式呈现。

这是代码。

import sys

from PySide6.QtWidgets import QApplication, QTextEdit, QMainWindow

app = QApplication(sys.argv)

test_window = QMainWindow()
test_text_edit = QTextEdit()

html = """
<!DOCTYPE html>
<html>
<head>
<style>
span.a {
  padding: 2px;
  margin: -2px;
  background-color: orange;
}
span.b {
  background-color: powderblue;
}
</style>
</head>
<body>
<div>volutpat. <span class="a">Aliquam <span class="b">venenatis</span> gravida</span> nisl</div>
</body>
</html>
"""
test_text_edit.setHtml(html)
test_window.setCentralWidget(test_text_edit)

test_window.show()

sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

这是结果,缺乏明显的样式,我是疯了还是根据文档看起来不应该基本相同?不缺少让“嵌套”更清晰的填充吗?

我的 QTextEdit 结果

看来边距问题并不未知,边距样式在qt富文本标签中没有效果,但也没有人回答这个问题。

有人知道任何修复/解决方法吗?或者在哪里将其记录为 Qt 的已知限制?

我如何使用pyqt5中的QTextEdit来显示html的所有样式(包括css的样式)也相关,但不是重复的,它只是指向它所遵循的CSS的文档,它没有涵盖为什么它不'不遵循,或者如何遵循它所说的遵循的标准。