Класс 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.13/qfocusframe.html