Мне нравится обработка/макет по умолчанию, добавляющая виджет док-станции в главное окно с помощью addDockWidget(). В частности, следующее:Mimic Главное окно addDockWidget поведение макета для QDialog
- Использует QSplitter (я полагаю), который позволяет пользователю изменять размер виджета 2 док-станции и центрального виджета.
- Невозможно сжать виджет док-станции под подсказкой минимального размера.
- При перетаскивании размера всего окна виджет док-станции остается прежним (т. Е. Он отличается от перетаскивания сплиттера). Таким образом, центральный виджет растет при перетаскивании всего окна, а не док-станции и центрального виджета.
Я хотел бы подражать этому поведению, но на QDialog, так как я не могу просто вызвать addDockWidget(). Я не очень беспокоюсь о возможности перетащить виджет док-станции и опустить его на другие углы и т. Д. Мне просто нужна настройка QLayout, которая может выполнять вышеуказанные 3 вещи.
Почему бы не использовать 'QMainWindow' вместо' QDialog'? Вы можете открыть столько QMainWindow, сколько хотите. –
Это хороший момент. Есть ли недостатки в наличии нескольких основных окон, особенно открытых одновременно? –
У этого есть хорошее обсуждение главного окна против диалогов, http://stackoverflow.com/questions/1442128/multiple-windows-in-pyqt4 –