我正在尝试在QTextEdit子集内的表格html中插入图像。 我希望该图像与桌子宽度完美契合。 不幸的是,Qt没有任何顺利,并且在图像的右侧和下方留下了恼人的填充。
以下是简化代码(使用任何图像进行测试),任何人都知道如何避免它?
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import QCoreApplication, QRect, Qt
class Labhtml(QTextEdit):
def __init__(self):
super().__init__()
html= '''
<table border="1" cellspacing="0" cellpadding="0">
<tr>
<td>
<img src="bar.png">
</td>
</tr>
</table>
'''
self.setText(html)
class Example(QScrollArea):
def __init__(self):
super().__init__()
widget = QWidget()
layout = QVBoxLayout(widget)
layout.setAlignment(Qt.AlignTop)
layout.addWidget(Labhtml())
self.setWidget(widget)
self.setWidgetResizable(True)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
当涉及到我几乎要放弃的子集时,Qt充满了这些故障。
答案 0 :(得分:1)
问题是由您在td
标记中添加的空格引起的。因此解决问题的一种方法是:
<table border="1" cellspacing="0" cellpadding="0">
<tr>
<td><img src="image.png"></td>
</tr>
</table>
或者,使用小于图像的固定尺寸:
<table border="1" cellspacing="0" cellpadding="0">
<tr>
<td width="0" height="0">
<img src="image.png">
</td>
</tr>
</table>