Изменение размера кнопки автоматически - PullRequest
3 голосов
/ 10 июля 2019

Я использую PyQt5 и пытаюсь предотвратить автоматическое изменение размера кнопки.Поэтому я использовал этот код для достижения этой цели.Моей целью было, если я создам кнопку фиксированного размера, она не изменится сама по себе.Поэтому я написал следующий код:

rect = QtCore.QRect()
rect.setSize(QtCore.QSize(5, 80))
button.setGeometry(rect)

Но это не работает.Та же самая проблема изменения размера все еще там.Что там происходит не так?

1 Ответ

1 голос
/ 11 июля 2019

Если вы хотите, чтобы виджет сохранял свой размер, вы должны использовать setFixedSize()

button.setFixedSize(QtCore.QSize(5, 80))

Если ваша кнопка находится в макете, она будет использовать sizePolicy для определения поведения размера, в случае кнопки это:

  • горизонтальный: QtWidgets.QSizePolicy.Minimum , который заставляет виджет принимать вседоступная ширина.
  • вертикальный: QtWidgets.QSizePolicy.Fixed , который заставляет виджет использовать высоту, определенную sizeHint (), которая зависит от содержимого (текста, размера шрифта и т. Д.).

Следовательно, размер кнопки обычно изменяется по горизонтали, а не по вертикали.

...