首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >等价于QEvent ApplicationDeactivate

等价于QEvent ApplicationDeactivate
EN

Stack Overflow用户
提问于 2014-01-24 17:58:46
回答 1查看 1.5K关注 0票数 1

我使用events QEvent::ApplicationActivateQEvent::ApplicationDeactivate在需要时显示/隐藏应用程序的某些部分。

但现在,这些事件被标记为不受欢迎的:

这件事已经被否决了。使用ApplicationStateChange代替。

所以我试着转到这个活动。它应该在什么时候触发,但是我找不到一种方法来获得应用程序状态,它使用某种类型的强制转换或任何getter。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-24 18:30:51

与任何其他事件一样,您需要将其转换为更特定的类型来获取事件属性。这个班是QApplicationStateChangeEvent。令人惊讶的是,文档对此保持沉默,但它是存在的,并在event.h中声明。在我的QT5.1安装中,以下代码运行良好:

代码语言:javascript
复制
#include <QApplicationStateChangeEvent>

bool MainWindow::eventFilter(QObject *o, QEvent *e) {
  if (e->type() == QEvent::ApplicationStateChange) {
    qDebug() << "state:" 
             << static_cast<QApplicationStateChangeEvent*>(e)->applicationState();
  }
  return QMainWindow::eventFilter(o, e);
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21339302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档