gpt4 book ai didi

c++ - 当小部件看不见时的 Qt 事件

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:09:51 25 4
gpt4 key购买 nike

当 Window 的任何小部件看不见时,Qt 中是否有一种方法可以处理这种情况。即,如果小部件在选项卡控件中并且用户更改了事件选项卡,或者如果用户只是滚动并且小部件离开屏幕,以及当它返回屏幕时。

是否可以为这两个事件添加一些代码?

最好能在全局范围内完成...

最佳答案

Is there a way in Qt to handle situation when any widget of Window goes out of sight. I.e if a widget was in tab control and user have changed active tab, or if user just scrolls and widget goes offscreen, and also when it goes back on screen.

提出问题的方式让人认为需要处理小部件显示-隐藏-公开状态更改:

bool MyWidget::event(QEvent* pEvent)
{
if (pEvent->type() == QEvent::Show)
{
// event "shown"
}
else if (pEvent->type() == QEvent::Hide)
{
// event "hidden"
}
else if (pEvent->type() == QEvent::Expose)
{
// event "exposure changed"
// deal with QExposeEvent and evaluate the exposed region
// QExposeEvent* pExposeEvent = reinterpret_cast<QExposeEvent*>(pEvent);
}
return QWidget::event(pEvent);
}

Best if this can be done globally...

顶级小部件的事件过滤器可能会解决这个问题。或者您可以覆盖 event()顶级小部件的功能,但找到受影响的确切小部件是另一回事。

引用QExposeEvent description .

关于c++ - 当小部件看不见时的 Qt 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43526131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com