Главного ВопросКак правильно разместить виджеты Qt?
Что такое «правильный» способ дать ваши размеры виджетов по умолчанию и убедитесь, что контракт, расширить или остается неизменным, если есть достаточно дополнительное или нет места, чтобы вместить их?
Как Подумай Qt работает
После прочтения документации Qt кажется, что алгоритм калибровки выходит что-то вроде этого ... начинается макет, попросив своих детей для их идеального размера через QWidget :: sizeHint метод. Если макет имеет дополнительное пространство или недостаточно места, то он определит, какие виджеты будут изменяться в зависимости от политики размера виджета (QWidget :: sizePolicy), минимального размера (QWidget :: minimumSize) и максимального размера (QWidget :: maximumSize) ,
Почему нет метода QWidget :: setSizeHint?
Если мое понимание близко к тому, чтобы быть точным, казалось бы, все, что вам нужно сделать, это установить размерHint, sizePolicy, maximumSize и minimumSize для каждого виджета, и все будет работать. Так почему же нет метода setSizeHint?!?! ?? !! Конечно, каждый раз, когда вы используете виджет, который предоставляет всю необходимую вам функциональность (QTableView, QComboBox и т. Д.), Вы можете расширить его и переопределить один метод, но это звучит совершенно нелепо.
Один из вопросов, связанных с калибровкой, с которыми я воюю.
У меня есть QMainWindow с QDockWidget с левой стороны. QDockWidget имеет QTableView. Я бы хотел, чтобы QDockWidget/QTableView занимал «разумное» количество места при запуске, а затем пользователь мог изменять его размер, хотя бы маленький или большой, который им бы хотелось.
К сожалению, при запуске приложения он предоставляет QDockWidget/QTableView так мало места, что для него требуется горизонтальная полоса прокрутки. Единственный способ, которым я заставил его дать ему разумную величину ширины, - установить минимальную ширину QDockWidget, но затем он не позволяет пользователю изменять его размер настолько, насколько это возможно.
Вы задали много вопросов (и разглагольствовал немного). Каков ваш реальный вопрос здесь? –
Что такое «правильный» способ предоставить размер ваших виджетов по умолчанию и убедиться, что они сжимаются, расширяются или остаются фиксированными, если для их размещения требуется дополнительное пространство или недостаточно? ... особенно в моем случае, когда размер по умолчанию находится между минимумом и максимумом, или вы вообще не хотите использовать min/max. –
Подумайте о том, чтобы вырезать часть постороннего материала в своем посте и сосредоточиться на самом вопросе. –