Лучший подход для построения динамической перспективы виджета с использованием QT? - PullRequest
1 голос
/ 17 сентября 2010

Я создаю интерфейс, похожий по функциям на Eclipse IDE для проекта телеметрии. Я покажу много разных виджетов, и каждый из них должен быть изменяемого размера / перемещаемого / popped_out / popped_in / hideable / "полноэкранный-способный" / etc ... как "перспектива" Eclipse IDE.

Как лучше всего использовать QT? Какие классы использовать? Используя QT QMainWindow / QDockWidgets / LayoutManager или поскольку любой виджет может быть перемещен куда угодно, было бы лучше всего обрабатывать все вручную?

1 Ответ

2 голосов
/ 22 сентября 2010

На мой взгляд, QMainWindow дает вам хорошее начало.Вы можете создавать DockWidgets и управлять ими по всему вашему центральному виджету, а также легко добавлять панели состояния и панели инструментов.

Класс QDockWidget уже обрабатывает параметры скрытия / показа dock / undock, поэтому все, что вам нужно сделать, - это сделать самостоятельно.widget.

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

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

РЕДАКТИРОВАТЬ (для ответа на вопрос с комментариями):

Вы можете использовать QSettings , чтобы сделать это,Это позволяет вам сохранить любые настройки, которые вы хотите в системном каталоге.

Вы делаете это так:

QSettings settings;
settings.setValue("editor/wrapMargin", 68);

и получить его обратно:

int margin = settings.value("editor/wrapMargin").toInt();

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

...