2013-04-21 3 views
4

나는 간단한 작업이 있습니다.Qt/PyQt/PySide QLabel에서 서식있는 텍스트 (HTML)를 올바르게 정렬하는 방법은 무엇입니까?

richtext (HTML)를 Qt 또는 PyQt 또는 PySide QLabel에서 오른쪽 정렬하려고합니다. 위젯의 크기를 텍스트 길이보다 작게 만들 때까지 QLabel이 올바르게 작동합니다. 그 시점에서 오른쪽 텍스트가 잘립니다. QLabel은 일반 텍스트로 올바르게 작동합니다. 사실, 이것은 질문 here의 단순화 된 버전입니다.

아래 PyQt 예제에서 나는 1에서 10까지의 숫자를 나열합니다. 위젯의 크기를 조정할 때도 항상 '10'이라는 숫자를보고 싶습니다. 일반 텍스트에서는 작동하지만 richtext (HTML)에서는 중단됩니다. 이것은 Qt의 버그입니까? 그 효과를 보여주기 위해 몇 가지 스크린 샷을 추가했습니다. 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_()) 

답변

3

흠 ... 그것은 PySide (Windows의 버전 1.1.2)와 함께 잘 작동

Before shrinking the widget

.

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

난 그냥 PySide 1.1.1 그것을 시도했지만 작동하지 않았다 :

, 당신은 서식있는 텍스트와 함께 작동합니다 스타일 시트를 사용할 수 있습니다. 나는 또한 PyQt와 Pyside로 스타일 시트 제안을 시도했다. 그것도 작동하지 않습니다. 위젯을 텍스트 *보다 작은 크기로 줄이면 * 맞춤법이 작동하는지 확인 하시겠습니까? 나를 위해, richtext (html) 위젯이 오른쪽으로 자르기를 시작합니다. – Lozzer

+0

효과를 보여주기 위해 몇 가지 스크린 샷을 추가했습니다. – Lozzer

+0

@Lozzer 어쩌면 다른 컴퓨터에서 시도해보아야합니다. –

관련 문제