Loz*_*zer 5 qt pyqt alignment richtext qlabel
我有一个简单的任务。
我想在 Qt 或 PyQt 或 PySide QLabel 中右对齐富文本 (HTML)。QLabel 工作正常,直到我调整小部件的大小,使其小于文本长度。此时,右侧的文本被切断。QLabel 可以正常使用纯文本。事实上,这只是这里问题的简化版本。
在下面的 PyQt 示例中,我列出了数字一到十。即使我调整小部件的大小,我也希望始终看到数字“十”。它适用于纯文本,但不适用于富文本 (HTML)。这是 Qt 中的错误吗?我添加了几个屏幕截图来显示效果。


from PyQt4 import QtGui, QtCore
import sys
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
mw = QtGui.QWidget()
labelPT = QtGui.QLabel()
labelPT.setText('one two three four five six seven eight nine ten')
labelPT.setAlignment(QtCore.Qt.AlignRight)
labelRT = QtGui.QLabel()
labelRT.setText('one two three four <b>five</b> six seven eight nine ten')
labelRT.setAlignment(QtCore.Qt.AlignRight)
vbox = QtGui.QVBoxLayout()
vbox.addWidget(labelPT)
vbox.addWidget(labelRT)
mw.setLayout(vbox)
mw.setMinimumWidth(30)
mw.show()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)
嗯...它与 PySide(Windows 上的版本 1.1.2)一起工作得很好。
但是,您可以使用适用于富文本的样式表:
labelRT.setStyleSheet("qproperty-alignment: AlignRight;")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5803 次 |
| 最近记录: |