在我正在构建的应用程序中,我正在使用QTextBrowser显示一些HTML。 HTML包含一些嵌套列表,我发现最后一个父项与其第一个子项之间有一些额外的空格。
简化示例:
list.html :
<ul>
<li>Parent List A
<ul>
<li>A1</li>
<li>A2</li>
</ul>
</li>
<li>Parent List B
<ul>
<li>B1</li>
<li>B2</li>
</ul>
</li>
</ul>
list_test.py :
import sys
from PySide2.QtWidgets import QApplication, QTextBrowser
with open('./list.html') as f:
html = f.read()
app = QApplication()
text_widget = QTextBrowser()
text_widget.setHtml(html)
text_widget.show()
sys.exit(app.exec_())
产生一个看起来像这样的小部件:
还奇怪的是,它只是父列表的最后一项。因此,如果我添加一个父级列表C:
list.html :
<ul>
<li>Parent List A
<ul>
<li>A1</li>
<li>A2</li>
</ul>
</li>
<li>Parent List B
<ul>
<li>B1</li>
<li>B2</li>
</ul>
</li>
<li>Parent List C
<ul>
<li>C1</li>
<li>C2</li>
</ul>
</li>
</ul>
只有父级列表C显示了这个额外的空白:
我正在Windows 10上使用PySide2版本5.11.0对此进行测试
答案 0 :(得分:2)
如果在打开<li>
之前关闭<ul>
标签,则显示不再有问题。
<ul>
<li>Parent List A</li>
<ul>
<li>A1</li>
<li>A2</li>
</ul>
<li>Parent List B</li>
<ul>
<li>B1</li>
<li>B2</li>
</ul>
</ul>
我目前不使用HTML,但是我一直使用这种方法,而不是打开<li>
并在其中放置<ul>
,所以也许这是有效的HTML。
如果您的HTML是标准格式,我会重新打开Qt5。