Переноса слов для QLabel

Мне нужно чтобы QLabel переносила текст по строкам автоматически.
Я слышал, что можно сделать с помощью команды QLabel::setWordWrap(true), но почему-то у меня не получается.

Помогите пожалуйста.

from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLabel, QVBoxLayout, QHBoxLayout, QRadioButton, QMessageBox


app = QApplication([])
main_win = QWidget()
main_win.setWindowTitle('Хто хоче стати мільйонером?')
main_win.resize(1920,1080)
question = QLabel('<h1 style="color: rgb(250, 55, 55);">Правила игры')
app.setStyleSheet("QLabel{font-size: 18pt;}")
rules = QLabel('Игра Кто хочет стать миллионером? - это конкурс викторина, в котором участники                     должны правильно ответить на ряд вопросов с несколькими вариантами ответов, чтобы перейти на следующий уровень. Всего 15 вопросов, каждый вопрос стоит определенной суммы денег, участники не имеют никаких временных ограничений для предоставления ответа. Участники также получают три вида подсказок, чтобы помочь себе, если они застряли на конкретном вопросе.')


line = QVBoxLayout()
lineH1 = QHBoxLayout()
lineH2 = QHBoxLayout()
lineH1.addWidget(question, alignment = Qt.AlignCenter)
lineH2.addWidget(rules, alignment = Qt.AlignCenter)

main_win.setLayout(line)
line.addLayout(lineH1)
line.addLayout(lineH2)
main_win.show()
app.exec()

Ответы (1 шт):

Автор решения: S. Nick

wordWrap : bool

Это свойство содержит политику переноса слов для label's.

Если это свойство истинно, то текст метки переносится там, где это необходимо, в разрывы слов; в противном случае он вообще не заворачивается.

По умолчанию перенос слов отключен.

from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, \
    QLabel, QVBoxLayout, QHBoxLayout, QRadioButton, QMessageBox


app = QApplication([])
app.setStyleSheet("""
QLabel { 
    font-size: 18pt;
}
#rules { 
    background-color: #ccffbd;
}
""")

main_win = QWidget()
main_win.setWindowTitle('WindowTitle')
main_win.resize(570, 400)

question = QLabel('<h1 style="color: #C81912;">Правила игры</h1>')

rules = QLabel('''Игра Кто хочет стать миллионером? - \
это конкурс викторина, в котором участники \
должны правильно ответить на ряд вопросов \
с несколькими вариантами ответов, чтобы перейти на следующий уровень. \
Всего 15 вопросов, каждый вопрос стоит определенной суммы денег, \
участники не имеют никаких временных ограничений для предоставления \
ответа. Участники также получают три вида подсказок, чтобы помочь себе, \
если они застряли на конкретном вопросе.''')

rules.setObjectName('rules')
rules.setWordWrap(True)                               # +++


line = QVBoxLayout()
'''
lineH1 = QHBoxLayout()
lineH2 = QHBoxLayout()
lineH1.addWidget(question, alignment = Qt.AlignCenter)
lineH2.addWidget(rules)                               #, alignment = Qt.AlignCenter)
'''
main_win.setLayout(line)

line.addWidget(question, alignment = Qt.AlignCenter, stretch=0)
line.addWidget(rules, stretch=1)

main_win.show()
app.exec()

введите сюда описание изображения

→ Ссылка