QFocusFrame 类
QFocusFrame 小部件提供了一个可以位于小部件常规可画区域之外的聚焦框。 更多...
头文件 | #include <QFocusFrame> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake | QT += widgets |
继承 | QWidget |
公共函数
QFocusFrame(QWidget *parent = nullptr) | |
virtual | ~QFocusFrame() |
void | setWidget(QWidget *widget) |
QWidget * | widget() const |
保护函数
virtual 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 以在部件的可画几何体外部有一个聚焦区域。这样,就不需要为聚焦的部件预留空间,只需在具有 QFocusFrame::setWidget 的高斯Widget 上设置即可。然而,可以在自定义窗口上创建自己的 QFocusFrame 并通过 QWidget::setGeometry 手动设置其几何形状,但这样在聚焦部件改变大小或位置时将不会得到自动放置。
成员函数文档
QFocusFrame::QFocusFrame(QWidget *parent = nullptr)
构造一个 QFocusFrame。
聚焦框不会监视 parent 以进行更新,而是可以手动放置或通过使用 QFocusFrame::setWidget。QFocusFrame 设置 Qt::WA_NoChildEventsForParent 属性;因此,父窗口不会收到一个 QEvent::ChildAdded 事件,这将使得在 QSplitter 或其他监视子事件的小部件内部手动设置 QFocusFrame 的几何形状成为可能。
另请参阅QFocusFrame::setWidget().
[虚拟 noexcept]
QFocusFrame::~QFocusFrame()
析构函数。
[覆盖虚保护]
bool QFocusFrame::event(QEvent *e)
重实现: QWidget::event(QEvent *event).
[覆盖虚保护]
bool QFocusFrame::eventFilter(QObject *o, QEvent *e)
重实现: QObject::eventFilter(QObject *watched, QEvent *event).
[虚保护]
void QFocusFrame::initStyleOption(QStyleOption *option) const
使用此 QFocusFrame 的值初始化 option。该方法对于子类非常有用,当它们需要一个 QStyleOption,但不想自己填写所有信息时。
另请参阅QStyleOption::initFrom().
[覆盖虚保护]
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().
© 2024 Qt 公司. 本文档中的贡献包括各自所有者的版权。本文档按 GNU 自由文档许可版 1.3 的条款发布,该许可由自由软件基金会发布。Qt 和相应的标志是芬兰的 Qt 公司及其全球子公司和关联公司的商标。所有其他商标均为各自所有者的财产。