qt - 如何在 Qt/PyQt/PySide QLabel 中右对齐富文本 (HTML)?

标签 qt pyqt alignment richtext qlabel

我有一个简单的任务。

我想在 Qt 或 PyQt 或 PySide QLabel 中右对齐富文本 (HTML)。 QLabel 工作正常,直到我调整小部件的大小使其小于文本长度。此时,右侧的文本被切断。 QLabel 与纯文本一起正常工作。其实这只是问题here的简化版.

在下面的 PyQt 示例中,我列出了数字 1 到 10。即使我调整小部件的大小,我也希望始终看到数字“十”。它适用于纯文本,但适用于富文本 (HTML)。这是Qt中的错误吗?我添加了几个屏幕截图来显示效果。

Before shrinking the widget

After shrinking the widget

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_())

最佳答案

嗯...它适用于 PySide(Windows 上的 1.1.2 版)。

但是,您可以使用适用于富文本的样式表:

labelRT.setStyleSheet("qproperty-alignment: AlignRight;")

关于qt - 如何在 Qt/PyQt/PySide QLabel 中右对齐富文本 (HTML)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16131017/

相关文章:

javascript - 如何获取QML中项目的基类?

c++ - Raspberry Pi 3 上的 QML 性能

qt - (PyQt) QTreeView - 想要展开/折叠所有子项和孙项

css - Bootstrap 3.0 - 垂直对齐同一行中的 3 个面板(自动高度)

xcode - 链接被提升.. 什么是-rpath? macOS X

c++ - QtSql:绑定(bind)不会更改 SQLite 的查询

python - QAbstractItemModel index() 和 parent() 方法

python - 在子类中重写 PyQt 信号

html - 在 CSS 中设置 cellpadding 和 cellspacing?

html - CSS水平图像对齐与图像标题