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