QLabel을 HTML 하위 집합으로 QWidget에 넣으면 QLabel이 사용자 정의 위젯에 있는지 또는 기본 창이나 레이아웃에 있는지에 따라 다른 유형의 동작이 발생합니다.부분 집합 HTML QLabel, 높이 동작을 이해할 수 없다
주요 문제는 html 테이블의 모든 행이 표시되지 않는다는 것입니다. 내용은 높이가 잘게 자릅니다.
사실 나는 'height'속성이 HTML 하위 집합에서 지원되지 않는다는 것을 알게되면 인생을 훨씬 쉽게 만들어 줄 것입니다.
다음import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import QCoreApplication, QRect, Qt
class Labhtml(QLabel):
def __init__(self, parent):
super().__init__(parent=parent)
html = ('''
<body>
<table>
<tr>
<td id="header_cell" width="200">
<div id="ticker"><!--INST.T--></div>
<div id="price"> 1000.25<!--price--></div>
</td>
</tr>
<tr>
</td>
<td id="values_cells">
<div id="value"> +0.23%<!--value02--></div>
<div id="average"> 0.13%<!--range02--></div>
</td>
</tr>
</table>
</body>
</html>
''')
label = QLabel(html, self)
self.setStyleSheet('QFrame {background-color: grey;}')
self.resize(100, 150)
class Wid(QWidget):
def __init__(self, parent):
super().__init__(parent=parent)
self.resize(100, 450)
Labhtml(self)
layout = QVBoxLayout(self)
layout.setAlignment(Qt.AlignTop)
layout.setSpacing(0)
class Example(QScrollArea):
def __init__(self):
super().__init__()
widget = QWidget()
layout = QVBoxLayout(widget)
layout.setAlignment(Qt.AlignTop)
Labhtml(widget)
layout.addWidget(Wid(widget))
layout.addWidget(Labhtml(widget))
self.setWidget(widget)
self.setWidgetResizable(True)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
당신은 QTextEdit를 사용하여 시도, 나는 빌어 먹을 네,이 조언의 아주 좋은 조각 응용 프로그램 – eyllanesc
@eyllanesc 더 적합하다고 생각 유무 : 희망 당신은 내가해야했던 어떤 변화가 볼 수있을 것이다 , 감사. 라벨이 – user3755529
@ user3755529인데 왜 고집스럽게되었는지 알 수 없습니다. 이 질문은 아직 관련이 있습니까? 나는 당신의 예를 고칠 수 있었고 그래서 당신이 여전히 관심이 있다면 적어도 제정신이 아닌 것처럼 보입니다. – ekhumoro