如何为自定义QLabel实现setWordWrap(True)?

时间:2013-03-22 14:10:12

标签: c++ python qt pyqt pyside

我通过覆盖其paintEvent重新实现QLabel()

我正在做的是,重新绘制文本3次以获得浮雕效果。

我正在使用 PyQT-PySide ,该应用程序针对的是 OS X ,它不支持Qt的精彩效果(shadow等人)。因此,这是我提出的解决方案。

setTextWrap(True)的实施外,一切正常。它失败。

我需要对self.text()做些什么才能将其换行以适应标签的方框?

谢谢。

1 个答案:

答案 0 :(得分:1)

可以使用Qt.TextWordWrap 标记,然后将其添加到QPainter()

drawText()方法中

示例:

    painter.drawText(self.rect(), self.alignment() | Qt.TextWordWrap, self.text())