Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: brucemax от Май 16, 2013, 10:54



Название: Нарисовать рамку вокруг двух виджетов.
Отправлено: brucemax от Май 16, 2013, 10:54
Есть фрэйм, на нём два виджета, надо обвести их рамкой. Ставлю фильтр на фрэйм и ловлю там событие рисования, вопрос сводиться к тому, как перевести координаты виджета в координаты фрэйма (родителя)?  Или вообще есть более удобное решение?  Спасибо.


Название: Re: Нарисовать рамку вокруг двух виджетов.
Отправлено: antoshib от Май 16, 2013, 11:09
может легче применить стиль для фрейма? setStyleSheet(..)


Название: Re: Нарисовать рамку вокруг двух виджетов.
Отправлено: mutineer от Май 16, 2013, 11:12
http://doc.qt.digia.com/4.7/qwidget.html#mapToParent


Название: Re: Нарисовать рамку вокруг двух виджетов.
Отправлено: brucemax от Май 16, 2013, 11:14
может легче применить стиль для фрейма? setStyleSheet(..)
Не, забыл упомянуть, на фрэйме может быть много таких пар виджетов.


Название: Re: Нарисовать рамку вокруг двух виджетов.
Отправлено: brucemax от Май 16, 2013, 11:17
http://doc.qt.digia.com/4.7/qwidget.html#mapToParent
Спасибо! Тут на форуме нашёл ещё такое:
Код:
QPoint qp;
qp = pCHildWidget->mapToGlobal(pCHildWidget->pos());
qp = pCentralWidget->mapFromGlobal(qp);
Но mapToParent ещё проще :)


Название: Re: Нарисовать рамку вокруг двух виджетов.
Отправлено: Majestio от Май 16, 2013, 11:25
Есть фрэйм, на нём два виджета, надо обвести их рамкой. Ставлю фильтр на фрэйм и ловлю там событие рисования, вопрос сводиться к тому, как перевести координаты виджета в координаты фрэйма (родителя)?  Или вообще есть более удобное решение?  Спасибо.

QGroupBox (http://doc.crossplatform.ru/qt/4.6.x/widgets-groupbox.html)


Название: Re: Нарисовать рамку вокруг двух виджетов.
Отправлено: gil9red от Май 16, 2013, 13:57
QFrame :)