Класс QFocusFrame
Виджет QFocusFrame предоставляет рамку фокуса, которая может располагаться вне обычной области рисования виджета. Подробнее...
| Заголовок: | #include <QFocusFrame> |
| qmake: | QT += widgets |
| Наследует: | QWidget |
Открытые функции
| QFocusFrame(QWidget *parent = nullptr) | |
| virtual | ~QFocusFrame() |
| void | setWidget(QWidget *widget) |
| QWidget * | widget() const |
Защищённые функции
| void | initStyleOption(QStyleOption *option) const |
Переопределённые защищённые функции
| virtual bool | event(QEvent *e) override |
| virtual bool | eventFilter(QObject *o, QEvent *e) override |
| virtual void | paintEvent(QPaintEvent *) override |
Подробное описание
Обычно приложение не должно создавать собственный QFocusFrame, так как QStyle обрабатывает эту деталь за вас. Разработчик стилей может использовать QFocusFrame для отображения области фокуса вне геометрии рисования виджета. Таким образом, не нужно выделять место для виджета, чтобы он имел фокус, а достаточно установить его на QWidget с помощью QFocusFrame::setWidget. Однако разрешается создавать собственный QFocusFrame для пользовательского виджета и вручную устанавливать его геометрию с помощью QWidget::setGeometry, но автоматическое размещение не будет работать при изменении размера или расположения виджета с фокусом.
Документация по функциям-членам
QFocusFrame::QFocusFrame(QWidget *parent = nullptr)
Конструктор QFocusFrame.
Рамка фокуса не будет отслеживать обновления parent, а может быть размещена вручную или с помощью QFocusFrame::setWidget. QFocusFrame устанавливает атрибут Qt::WA_NoChildEventsForParent; в результате родитель не получит событие QEvent::ChildAdded, что позволит вручную установить геометрию QFocusFrame внутри QSplitter или другого виджета, отслеживающего события детей.
См. также QFocusFrame::setWidget().
[virtual] QFocusFrame::~QFocusFrame()
Деструктор.
[override virtual protected] bool QFocusFrame::event(QEvent *e)
Переопределяет: QWidget::event(QEvent *event).
[override virtual protected] bool QFocusFrame::eventFilter(QObject *o, QEvent *e)
Переопределяет: QObject::eventFilter(QObject *watched, QEvent *event).
[protected] void QFocusFrame::initStyleOption(QStyleOption *option) const
Инициализирует option значениями из данного QFocusFrame. Этот метод полезен для подклассов, когда им требуется QStyleOption, но они не хотят заполнять всю информацию самостоятельно.
См. также QStyleOption::initFrom().
[override virtual protected] void QFocusFrame::paintEvent(QPaintEvent *)
Переопределяет: QWidget::paintEvent(QPaintEvent *event).
void QFocusFrame::setWidget(QWidget *widget)
QFocusFrame будет отслеживать изменения в widget и автоматически изменять свой размер. Если родительский виджет отслеживаемого виджета изменяется, QFocusFrame будет следовать за виджетом и автоматически устанавливать своё расположение вокруг него. Если отслеживаемый виджет удалён, QFocusFrame установит его в нуль.
См. также QFocusFrame::widget().
QWidget *QFocusFrame::widget() const
Возвращает текущий отслеживаемый виджет для автоматического изменения размера и обновления.
См. также QFocusFrame::setWidget().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qfocusframe.html