Я пытаюсь найти высоту строки заголовка QDockWidget
, чтобы сделать интеллектуальную калибровку настраиваемого макета, но строка заголовка не является отдельным виджетами, она встроена в частный макет виджет док-станции, и нет доступа к нему. Есть ли другой способ найти его высоту?QDockWidget Высота заголовка
4
A
ответ
6
Да, вы можете найти высоту заголовка, используя функцию члена pixelMetric
элемента QStyle
док-станции. Вероятно, вы также захотите запросить маржу, так как она добавляет пространство вокруг строки заголовка, и макет должен знать об этом. Пример:
QDockWidget * myDock = new QDockWidget;
int titleBarHeight = myDock->style()->pixelMetric(QStyle::PM_TitleBarHeight);
int titleBarMargin = myDock->style()->pixelMetric(QStyle::PM_DockWidgetTitleMargin);
-1
Вы всегда можете запустить QObject :: findChild Жека подходящего типа или имя объекта, чтобы найти недоступные детям.
Этот ответ можно улучшить с помощью краткого примера того, как 'QObject :: findChild' будет использоваться для решения проблемы OP. – Floegipoky
это неправильно, потому что, если вы не создали настраиваемую строку заголовка, строка заголовка не является дочерним элементом виджета док-станции. Кроме того, в любом случае не существует класса QTitleBar. –