Qt/Embedded使用()和()的机制实现函数的回调。

题目

Qt/Embedded使用()和()的机制实现函数的回调。

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

回调(Callback)函数是面向过程的程序设计语言中常用的一种机制,而设计模式中的(4)模式就是回调机制的一个面向对象的替代品。该模式的意图是(5)。

A.Strategy(策略)

B.Adapter(适配器)

C.Command(命令)

D.Observer(观察者)


正确答案:C
解析:面向过程语言中的回调(callback)函数是指函数先在某处注册,而它将在稍后某个需要的时候被调用。它实际上是一种参数化机制。Command模式是一种对象行为型模式。Command模式的其中一种应用场合就是抽象出待执行的动作以参数化某种对象,该模式实际上是回调机制的一个面向对象的替代品。这个模式的设计意图是:将一个请求封装为一个对象,从而使用户可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。Strategy模式也是一种对象行为型模式,其设计意图是定义一系列的算法,把它们一个一个地封装起来,并且使它们可相互替换。这个模式使得算法可独立于使用它的客户而变化。通常当存在以下情况时使用Strategy模式:(1)许多相关的类仅仅是行为有异:(2)需要使用一个算法的不同变体;(3)算法使用客户不应该知道的数据,可使用Strategy模式避免暴露复杂的、与算法相关的数据结构;(4)一个类定义了多种行为,并且这些行为在这个类的操作中以多个条件语句的形式出现。Adapter模式是一种类对象结构型模式。通过将一个的类的接口转换成客户希望的另外一个接口,Adapter模式使原本由于接口不兼容而不能在一起工作的那些类可以一起工作。Observer模式是另外一种对象行为型模式,其设计意图是定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。当存在以下情况时可以使用Observer模式:(1)一个抽象模型有两个方面,其中一个方面依赖于另一个方面,将两者封装在独立的对象中使它们可以各自独立地改变和复用;(2)对一个对象的改变需要同时改变其他对象,而不知道具体有多少对象有待改变;(3)一个对象必须通知其他对象,而它又不能假定其他对象是谁。

第2题:

窗口过程函数是个回调函数,可以由用户自行调用该函数。


正确答案:错误

第3题:

回调(Callback)函数是面向过程的程序设计语言中常用的一种机制。在设计模式中,(45)模式就是回调机制的一个面向对象的替代品。

A.Strategy(策略)

B.Adapter(适配器)

C.Command(命令)

D.Observer(观察者)


正确答案:C
解析:在面向过程的程序设计语言中,回调(Callback)函数是指函数先在某处注册,而它将在稍后某个需要的时候被调用。它实际上是一种参数化机制。Command(命令)模式的设计意图就是“将一个请求封装为一个对象,从而使用户可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作”。其中一种应用场合就是抽象出待执行的动作以参数化某种对象,可用过程语言中的回调(Callback)函数表达这种参数化机制。 Command模式是回调机制的一个面向对象的替代品。Observer(观察者)模式的设计意图就是“定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新”。Strategy(策略)模式使得算法可独立于使用它的客户而变化。Adapter(适配器)模式是一种类对象结构型模式。通过将一个的类的接口转换成客户希望的另外一个接口。Adapter模式使原本由于接口不兼容而不能一起工作的那些类可以一起工作。

第4题:

试解释Qt/Embedded信号和插槽机制。


正确答案:信号与插槽是一种强有力的对象间通信机制,它完全可以取代原始的回调和消息映射机制;信号与插槽是迅速的,类型安全的,健壮的,完全面向对象并用C++来实现的一种机制。Qt的窗口在事件发生后会激发信号。程序员通过建立一个函数(称作一个插槽),然后调用connect()函数把这个插槽和一个信号连接起来,这样就完成了一个事件和响应代码的连接。信号与插槽机制并不要求类之间互相知道细节,这样就可以相对容易的开发出代码可高重用的类。信号与插槽机制是类型安全的,它以警告的方式报告类型错误,而不会使系统产生崩溃。

第5题:

回调函数


正确答案:系统调用用户编写的函数过程叫做“回调”,所以这种被系统调用的函数也叫做“回调函数”。

第6题:

窗口过程函数是个回调函数,可以由用户自行调用该函数。

A

B



第7题:

在QT程序中可以调用被C 编译器编译后的函数吗?如果可以怎么实现?


正确答案:可以,通过加“extern "C"” 连接申明,被extern "C"修饰的变量和函数是按照C语言方式编译和连接的

第8题:

关于Qt的叙述,错误的是()。

AQt的信号和槽的机制完全独立的

B FrAmebuffer是Qt的图形引擎实现基础

C 输入设备是Qt的事件驱动基础

D Qt的体系结构是C/S结构


参考答案A

第9题:

()是一个为编译Qt/Embedded库和应用而提供的Makefile生成器,它支持()和影子生成。


正确答案:Qmake;跨平台开发

第10题:

Qt/Embedded的底层图形引擎基于()接口技术。


正确答案:FrameBuffer