6.this->focusWidget(),this->topLevelWidget()->focusWidget(),qapp->focusWidget() ?
this->focusWidget==this->topLevelWidget()->focusWidget()
qapp->focusWidget() == qapp->activeWindow()-->focusWidget()
7.什么是QWS Client和QWS Server?
QT Embedded也是一种C/S结构,需要有一个QT application做QWS Server,程序启动时带有-qws参数的就是QWS Server,不带这个参数就是QWS Client。因此任何一个基于QT的application都可以做QWS Server。当然QWS Server一定先于QWS Client启动,否则QWS Client将启动失败。在实际应用中,会指定某个特殊的application做QWS Server,这个application一般还会管理一些其它的系统资源。
8.QWS Server是如何管理QWS Client的?
QWS Server是一个server socket,QWS Client是一个client socket。QWS Client启动时会主动向QWS Server的server socket建立连接。而后就QWS Server通过这个socket传递QWSCommand和QWSEvent来管理QWS Client。
9.QT/E application是否有类似Win32/MFC的消息队列?
有,从代码上看应该有四个,优先级从高到低如下:
(1)QWSEvent事件队列
(2)posted QEvent事件队列
(3)socket事件队列
(4)timer事件队列
10.sendEvent和postEvent的区别?
sendEvent是直接同步调用
postEvent是间接异步调用,先把事件放到posted QEvent事件队列中,对于发往同一个widget的同一种事件会做合并,在事件循环中再处理。
阅读(705) | 评论(0) | 转发(0) |