摘要:同时Qt对不同平台(Unix,Windows,andMac)的专门API进行了封装,如文件处理、网络(操作,协议),进程处理、线程、数据库访问等。统一的跨平台API让程序员们集中精力致力于可增值的技术革新,而无须担心维护和管理现有应用程序多版本的基础结构与界面。Qt已由成千上成商业与开放源应用程序开发员,在多个操作系统与编译器上进行了
(1)信号
当某个信号其客户或所有者发生内部状态改变时,信号被一个对象发射。只有定义过这个信号的类及其派生类能够发射这个信号。当一个信号被发射时,与其相关联的槽将被立刻执行,就象一个正常的函数调用一样。信号-槽机制完全独立于 任何GUI 事件循环。只有当所有的槽返回以后发射函数(emit)才返回。 如果存在多个槽与某个信号相关联,那么,当这个信号被发射时,这些槽将会一个接一个地 执行,但是它们执行的顺序将会是随机的、不确定的,我们不能人为地指定哪个先执行、哪个后执行。信号的声明是在头文件中进行的,Qt 的signals 关键字指出进入了信号声明区,随后即可 声明自己的信号。
(2)槽
槽是普通的C++成员函数,可以被正常调用,它们特殊性就是很多信号可以与其相关联。当与其关联的信号被发射时,这个槽就会被调用。槽可以有参数,但槽的参数不能有缺省值。既然槽是普通的成员函数,因此与其它的函数一样,它们也有存取权限。槽的存取权限决定了谁能够与其相关联。同普通的C++成员函数一样,槽函数也分为三种类型,即public slots、private slots 和protected slots。
三、服务器端
在本应用中,电力线通讯终端平台连接家用电器作为服务器端,在实时显示用电器状态的同时,需要构建一个TCP 服务器来为远程终端提供服务,实现远程控制和报警的功能。在基于QF 操作系统的网络协议栈中,由QL4 接口类来实现对L4 协议(传输层)的解析和处理抽象。本应用中需要派生一个QTcp 类,实现传输层的TCP 协议。
通信工程师备考资料免费领取
去领取