@FlashBoy

Текст QLabel выходит из рамок?

Весь день бьюсь над этой проблемой. Я создал ScrollArea, пользователь вводит текст, и он должен помещаться на ScrollArea, что он выполняет плохо. Ошибка в том, что текст выходит за границы приложения. Метод setWordWrap() и WordWrap() уже использовал, не вышло.
#Тут создаю scrollarea и label в котором написано "Напишите любое сообщение" (с надписью все норм, так что не #обращаем особо внимания)
self.scrollArea_2 = QtWidgets.QScrollArea(self.centralwidget)
self.scrollArea_2.setGeometry(QtCore.QRect(200, 60, 601, 461))
font = QtGui.QFont()
font.setFamily("Comic Sans MS")
font.setPointSize(15)
self.scrollArea_2.setFont(font)
self.scrollArea_2.setWidgetResizable(False)
self.scrollArea_2.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
self.scrollArea_2.setObjectName("scrollArea_2")
self.scrollAreaWidgetContents_2 = QtWidgets.QWidget()
self.scrollAreaWidgetContents_2.setGeometry(QtCore.QRect(0, 0, 599, 459))
self.scrollAreaWidgetContents_2.setObjectName("scrollAreaWidgetContents_2")
self.lbl = QtWidgets.QLabel(self.scrollAreaWidgetContents_2)
self.lbl.setGeometry(QtCore.QRect(350, 420, 240, 25))
self.lbl.setObjectName("lbl")
#Дальше в функции конектимся к смене текста (PushButton все норм, вопросов нет)
def add_func(self):
    self.pushButton_4.clicked.connect(lambda: self.send_message())
#И дальше начинается... Сама функция измены текста
def send_message(self):
    _translate = QtCore.QCoreApplication.translate
    if self.plainTextEdit.toPlainText() != '':
        self.lbl.setText(_translate("MainWindow", self.plainTextEdit.toPlainText()))
        self.lbl.adjustSize()

Помогите пожалуйста 60eeee99201c9896925621.png
  • Вопрос задан
  • 439 просмотров
Решения вопроса 1
@bbkmzzzz
А где вызов setWidget?
import sys

from PySide2.QtWidgets import QApplication, QScrollArea, QLabel


class Main(QScrollArea):
    def __init__(self):
        super(Main, self).__init__()
        self.resize(300, 300)

        # вариант 1, не работает
        # self.label = QLabel('some text', self)

        # вариант 2, работает
        self.label = QLabel("some text")
        self.setWidget(self.label)

        self.label.setStyleSheet("background-color: rgba(255,0,255)")
        self.label.resize(500, 100)


if __name__ == "__main__":
    app = QApplication(sys.argv)
    ex = Main()
    ex.show()
    sys.exit(app.exec_())


Дока
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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