文档章节

Qt处理平台相关事件的方式

天朝搬砖工
 天朝搬砖工
发布于 2013/11/23 22:16
字数 365
阅读 34
收藏 0

      我们知道,Qt本身自带的事件处理是相当方便与强大的。在众多QObject的子类中,都有一个虚函数event(),我们可以通过重写其实现方式来获得作用于该应用上的一些事件,这在GUI应用中更是用的相当之多。然而,如果涉及到处理一些系统底层的事件,诸如操作系统关机或者注销休眠这类的事件,event()虚方法可能就心有余而力不足了。不过好在QObject还是给了使用者一些特别的方法来处理这些相当底层的系统事件。

     在Qt4里,我们可通过重写QObject的虚函数x11Event()、winEvent()等来达到获取平台相关事件的方式,当然这个方法只限于Qt4。在Qt5里,这些方法已经被一个新的方法给替换掉了:nativeEvent(const QByteArray & eventType, void * message, long * result)。这个方法的使用也是相当简单,重写她并获取我们所需的message即可,不过需要注意各平台的消息或者事件的类型。至于具体该如何利用,接下来就是参考各平台的相关API了。

     除了以上方式管理事件,我们也可以用eventfilter,具体的使用方式类似上面,细节还请参考手册了。

© 著作权归作者所有

共有 人打赏支持
天朝搬砖工
粉丝 4
博文 14
码字总数 11252
作品 0
东城
其他
私信 提问
QT 5.1 Alpha1 发布,支持 Android 和 iOS

Qt 5.0 刚刚发布三个月后,Digia 发布了全新版本 Qt 5.1 的第一个 Alpha 测试版本,该版本最值得关注的就是首次对 Android 和 iOS 平台的支持。 月初时 Qt 开发者就已宣布正在为 iOS 的移植做...

oschina
2013/04/09
10.1K
29
QtInternal 之 Timer

注意:本文翻译自 http://developer.qt.nokia.com 中的 QtTimers ,中文译文见 简体中文版 ,如果你对翻译wiki感兴趣,请参考Wiki中文帮助 定时器的 API Qt 提供了两套 计时器的 API QObjec...

晨曦之光
2012/05/08
213
0
QObject 之 Thread Affinity

注意,本文试图通过源码解释下面的问题: 子QObject必须在其parent关联的线程内创建 调用moveToThread()的对象其parent必须为0 事件驱动的对象要在单一线程内使用 QTimer、network模块的QTc...

晨曦之光
2012/05/08
986
0
QDesktopWidget 乱谈?

在QWidget的众多派生类之中,QDesktopWidget比较特殊的一个(另一个比较特殊的是QAxWidget,定义了信号槽,却不使用Q_OBJECT这个宏)。 我们知道QDesktopWidget的作用就是获取和桌面相关的各...

晨曦之光
2012/05/08
684
0
如何保持GUI的响应流畅(QT平台)

引子   一般来说耗时较长的操作,分为计算密集型操作和IO密集型操作,对于这两类操作如何提高响应速度呢?   而从操作的本质上来说,操作又可分为不可分解操作,如在第三方库中耗时较长的...

mickelfeng
2013/05/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

小白创建一个spring boot项目

进入 https://start.spring.io/

lilugirl
45分钟前
0
0
Alibaba Java诊断利器Arthas实践--使用redefine排查应用奇怪的日志来源

背景 随着应用越来越复杂,依赖越来越多,日志系统越来越混乱,有时会出现一些奇怪的日志,比如: [] [] [] No credential found 那么怎样排查这些奇怪的日志从哪里打印出来的呢?因为搞不清...

hengyunabc
今天
1
0
home hosts

home hosts lwk@qwfys:~$ cat /etc/hosts127.0.0.1 localhost127.0.1.1 qwfys192.168.56.101vm600.qwfys.com39.108.212.91alpha1.ppy.com39.108.117.122alpha2.p......

qwfys
今天
1
0
大数据教程(6.1)hadoop生态圈介绍及就业前景

1. HADOOP背景介绍 1.1、什么是HADOOP 1.HADOOP是apache旗下的一套开源软件平台 2.HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理 3.HADOOP的核心组...

em_aaron
今天
4
0
hadoop垃圾回收站

在生产生,hdfs回收站必须是开启的,一般设置为7天。 fs.trash.interval 为垃圾回收站保留时间,如果为0则禁用回收站功能。 fs.trash.checkpoint.interval 回收站检查点时间,一般设置为小于...

hnairdb
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部