У меня есть QGridLayout
, который имеет несколько виджетов в шести строках. Строки 1, 3 и 5 содержат QLabel
, a QLineEdit
и QPushButton
, которые открывают диалог выбора файла. Строки 2, 4 и 6 содержат QLabel
, который используется для представления ошибок проверки пользователю. Ошибки скрыты на изображении ниже.Как я могу предотвратить появление виджетов в QGridLayout?
Когда окно может занимать столько места, сколько ему нравится, эта проблема не появляется. Но когда я ограничить размер окна на все элементы в этом списке выглядит следующим образом:
Так что мой вопрос, как я могу гарантировать, что все QWidgets в QGridLayout может занять столько же пространство по мере необходимости?
EDIT: По предложению @Avaris', я пытался дозвониться setMinimumSize()
для каждого виджета в QGridLayout
(все 6 строк), и видимые элементы выглядят намного лучше (спасибо, @Avaris!). Но теперь, когда я вызываю ошибку проверки, сама ошибка (красный QLabel
) прокладывается поверх других виджетов. Могу ли я заставить QGridLayout не перекрываться?
Вот что он выглядит сейчас:
Вы установили минимальный размер этих виджетов на что-то маленькое? – Avaris
@Avaris, я попробовал ваше предложение, и оно хорошо работает для видимых элементов. Тем не менее другие строки (содержащие скрытый «QLabel») теперь отображаются поверх других элементов. Могу ли я заставить их всех быть в очереди? Благодаря! – James
Я не предлагал вам установить минимальный размер :). Я спрашивал, если вы * что-то задали. Если вы не задали размер ваших виджетов, они не должны быть такими маленькими. Можете ли вы опубликовать код? – Avaris