zoukankan      html  css  js  c++  java
  • Qt/E中只能放在服务器进程中的工作

        Qt/E服务器客户端架构这篇文章中讲到了Qt的架构,服务器进程管理着底层的各种设备,因此有许多工作只能放在Qt/E服务器进程中进行,下面列举一些:

    1. 键盘过滤:

            void QWSServer::addKeyboardFilter ( KeyboardFilter * filter )   [static]

            这个是QWSServer的一个静态函数,不需要实例化QWSServer即可访问,这个只是从c++语法角度而言,实际上还是要访问其实例的,只不过因为QWSServer只有一个实例,因此没必要暴露给用户而已。并且QWSServer显然在客户端进程中是没有实例化的,所以要进行键盘过滤只能在QT/E服务器进程中进行。Qt/E不支持全局热键也是这个原因,不过我们可以借助服务器进程实现一种伪全局热键。

    1. 输入法:

                输入法只能放在服务器进程中,是因为其设计架构,用到了很多服务器进程中的内部信息,要通过继承QWSInputMethod来实现输入法的话,只能放在服务器进程

    1. 屏幕保护:

      QWSScreenSaver提供了屏幕保护的基本操作接口,其内部状态由QWSSErver来维护,和输入法一样,Qt/E的内部代码中处处是将其放在了服务器端,只能如此。

    2. 控制屏幕是否显示

      void QWSServer::enablePainting ( bool enable )

            这个函数非常有用,当要控制所有的应用程序的屏幕显示时,让屏幕保持当前内容,那么就将enable设为false即可,这样所有的应用程序都不能改变屏幕显示内容了

        应该说有非常多的工作只能在服务器进程中进行,暂时就想到这么多,先写这几个吧。

  • 相关阅读:
    四个数判断大小
    生成随机数的效率问题
    vmware下ubuntu的网络配置
    安装Orcacle后使用DBCA(Database Configuration Assistant)卡住的问题
    Spring Tool Suit安装virgo server插件、virgo的下载
    centos的终端字体杂乱的问题
    vmware下minimum安装centos后配置网络
    hibernate session.save()和session.persist()的区别
    bootstrap结合google code prettify的问题
    jsp乱码问题
  • 原文地址:https://www.cnblogs.com/baizx/p/1787581.html
Copyright © 2011-2022 走看看