Qt: Как получить пиксельные метрики для определенного виджета - PullRequest
2 голосов
/ 16 февраля 2011

У меня есть QWidget, который может быть окном, со строкой заголовка и рамкой, или это может быть простой элемент управления, например кнопка или рамка.

Как мне написать код для запросаВысота строки заголовка такая, что я получаю правильный результат - то есть высоту системной строки заголовка, если это окно с единицей, или 0 в противном случае?

Я пытался использовать метрики пикселей QStyle, но он всегда возвращает системное значение:

QStyleOptionTitleBar option;
option.initFrom(widget);
captionHeight = widget->style()->pixelMetric(QStyle::PM_TitleBarHeight, &option, widget);

Ответы [ 2 ]

1 голос
/ 13 июня 2011

Используйте widget::isWindow(), чтобы узнать, находится ли виджет в своем собственном окне, - тогда используйте то, что у вас есть

0 голосов
/ 17 февраля 2011

Изображение на по этой ссылке говорит вам все, что вам нужно знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...