Модель MDI или Windows Прикрепления?

В спокойном приложении, которое мы разрабатываем, мы должны отобразить несколько 'Окон средства просмотра' (для отображения данных в плоскости XY, плоскости YX, плоскости XZ и в 3D).

Мы надеялись использовать модель MDI-приложения, но позже клиент попросил требование перетаскивать и представление 'Viewer windows' в нескольких рабочих столах (использующий несколько мониторов). Это не может быть сделано с помощью модели окна MDI, потому что мы не можем переместить окно MDI вне Окна главного приложения.

Только возможный путь состоит в том, чтобы использовать окна Dock, потому что они могут быть расстыкованы от Окна главного приложения и перемещения в другие рабочие столы, но окон Dock, основных используемый для палитр инструментов или служебных окон.

(http://doc.qt.nokia.com/4.6/qdockwidget.html#details)

Действительно ли это - хорошая практика для использования окна Dock для нашего требования?

6
задан Mat 2 October 2011 в 13:57
поделиться

1 ответ

Я бы не стал использовать QDockWindow, поскольку, похоже, вы не будете использовать клиентскую область. Кроме того, вы не хотите пристыковываться к границам MainWindow, а просто добавить виджет к MainWindow.

Я думаю, вы можете попробовать использовать несколько QWidget с QGridLayout. При перетаскивании QWidget за пределы MainWindow, просто удалите QWidget из макета. При перетаскивании внутри главного окна добавьте QWidget в нужное место в QGridLayout. С помощью этого метода вы также можете менять местами виджеты в Главном окне.

Не знаю, достаточно ли понятно, но я думаю о том же, как это делается в QtDesigner при перетаскивании новых элементов в макет. При перетаскивании виджетов вы можете видеть место, куда он будет добавлен при отпускании кнопки мыши.

На мой взгляд, этот метод может быть тем, который вы ищете.

Надеюсь, это поможет

4
ответ дан 17 December 2019 в 07:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: