Настройка формы:
QSplitter
(выделено на изображении), которая содержит QTreeWidget
(слева) и QTableWidget
(справа):
Свойства по умолчанию этих двух виджетов в QSplitter:
В основном, вышеуказанная настройка определяет минимальную ширинуиз этих двух компонентов, и именно QTableWidget
изменяет свою ширину при изменении размера формы.
Кнопки справа располагаются в QVBoxLayout
, а их размер фиксирован.
Вопрос:
При изменении размера формы ширина QTreeWidget
изменяется от минимума 150 до неизвестного 256, и только тогда QTableWidget
начинает расти, в то время как я ожидаю, что QTreeWidget
не будетвообще увеличиваться в ширине, так как QTableWidget
это тот, у которого горизонтальное растяжение установлено в 1.
Обратите внимание, это не имеет ничего общего с QSplitter
, sincТо же самое происходит, когда я помещаю эти два виджета вместо QHBoxLayout
.
ОБНОВЛЕНИЕ:
Установка QTreeWidget
MaximumSize / Width до 150 (то же самоев качестве минимального размера / ширины), чтобы избежать изменения размера этого виджета, выдается следующее:
QTreeWidget
теперь установлено равным 150, но при изменении размера окна между пробелами появляется пустой пробелдва виджета.Этот разрыв увеличивается до 256-150 = 106, а затем QTableWidget
начинает расширяться.
В основном результат аналогичен, но этот временной интервал, который был занят QTreeWidget
, теперь выделен для этого пустого разрыва.
Я начал чувствовать, что это может быть ошибка Qt.
Техническая информация:
- Ubuntu 10.04 (Lucid Lynx) x86_64
- GCC 4.4.3
- Qt 4.6.2