У меня возникают некоторые проблемы с размером виджетов qt4 при изменении их содержимого.
Я проиллюстрирую свои проблемы двумя простыми сценариями:
Сценарий 1:
У меня есть виджет QLineEdit. Иногда, когда я меняю свой контент с помощью QLineEdit.setText(), однострочная строка больше не вписывается в виджет с текущим размером. Я должен выбрать виджет и использовать клавиши со стрелками для прокрутки строки в обоих направлениях, чтобы увидеть все это.
Сценарий 2:
У меня есть виджет QTextEdit. Иногда, когда я изменяю его содержимое с помощью QTextEdit.setHtml(), отображаемый HTML-контент больше не вписывается в виджет с его текущим размером. Виджет начинает показывать горизонтальные и/или вертикальные полосы прокрутки, и я могу использовать их для прокрутки содержимого HTML.
То, что я хотел бы в таких сценариях, - это иметь некоторую логику, которая решает, будет ли после изменения контента новый контент больше не вписываться в виджет и автоматически увеличить размер виджета, чтобы все соответствовало.
Как обрабатываются эти сценарии? Я использую PyQt4.
Изменить: после прочтения как комментария, так и первого ответа (который упоминает ввод содержимого в виджет), я снова рассмотрел вопрос. Я был неприятно удивлен, узнав ужасную опечатку. Я имел в виду QTextBrowser, когда писал QTextEdit, извиняясь за то, что вас вводили в заблуждение. То есть: у меня есть виджет, который отображает HTML-код, который я меняю, и я бы хотел, чтобы виджет вырос настолько, чтобы отображать все, не имея полос прокрутки.
Что касается QLineEdit вместо QLabel - я пошел на QLineEdit, так как заметил, что я не могу выбрать текст из QLabel с помощью мыши для его копирования. С QLineEdit это возможно.