Задать вопрос
@I3EKTOP

Как переносить текст на кнопках в PyQt5?

Всем добрый день! Столкнулся с такой проблемой: у меня есть кнопки, в них я хочу отображать предложения из разного количества слов(2-10), сейчас это предложение отображается в одну строку и слова не переносятся. Как сделать автоматический перенос, возможно по пробелу? Возможно ли автоматически адаптировать размер текста исходя из его количества? Пробовал заменять пробелы символом ]\n, но в этом случае он отображается как текст и не переносится. Пытался использовать какие-то CSS штуки, но ни одна не помогла мне, хотя может я использовал не то. В общем, как это реализовать? Заранее очень благодарен за ответ!)
  • Вопрос задан
  • 2625 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@bbkmzzzz
2 варианта
1: Добавить на кнопку компоновщик, в компоновщик label, у label вызвать setWordWrap(True) (как раз совет из stackoverflow)
2: Рисовать label поверх кнопки
В любом случае label
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@Andrey_Dolg
Из рубрики вредные советы.
Вариант номер 1 сделайте вместо кнопки QLabel
class QLabel_alterada(QLabel):
    clicked=pyqtSignal()
    def __init__(self, parent=None):
        QLabel.__init__(self, parent)

    def mousePressEvent(self, ev):
        self.clicked.emit()

вариант номер 2:
Мини извращение делаем авто-генерацию иконки с текстом и посылаем её на кнопку.
Ответ написан
Комментировать
@WALL_E
Используйте \n для переноса текста! =D
Ответ написан
Попробуйте использовать первый или второй ответ.
https://stackoverflow.com/questions/8969086/is-the...

Конечно, много текста на кнопке - не очень хороший дизайнерский ход. Лучше разместить весь текст в label возле кнопки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы