PySide Qt :Автоматический рост по вертикали для виджета TextEdit и интервалы между виджетами в вертикальной компоновке

enter image description here

Мне нужно решить две проблемы с моим виджетом выше.

  1. Я хотел бы иметь возможность определять расстояние между виджетами сообщений, показанными на изображении (, они выглядят нормально, как есть, но я хочу знать, что это сделано ).
  2. Я хотел бы увеличить текстовые правки по вертикали в зависимости от количества текста, которое они содержат, без увеличения по горизонтали.

Для 1 код, заполняющий виджеты, выглядит следующим образом:

self._body_frame = QWidget()
self._body_frame.setMinimumWidth(750)
self._body_layout = QVBoxLayout()
self._body_layout.setSpacing(0)
self._post_widgets = []
for i in range(self._posts_per_page):
    pw = PostWidget()
    self._post_widgets.append(pw)
    self._body_layout.addWidget(pw)

    self._body_frame.setLayout(self._body_layout)

SetSpacing (0 )не приближает объекты, однако SetSpacing (100 )увеличивает их.

редактировать

(для вопроса 2 )Я не упомянул об этом, но я хочу, чтобы у родительского виджета была вертикальная полоса прокрутки.

Я ответил на свой вопрос, но он многословен и основан на причине и влиянии. Надлежащий хорошо написанный ответ в стиле учебника для решения обоих вопросов получает награду :D

редактировать 2

Используя мой собственный ответ ниже, я решил проблему. Теперь я приму свой собственный ответ.

enter image description here

9
задан Hassan Syed 1 August 2012 в 16:30
поделиться