QT 理论试题
1以下关于 QT 的描述正确的是 a. 是一个不跨平台的 C++图形用户界面 b. 由挪威 TrollTech 公司出品 c. 只支持 Unix、Linux d. QT API 和开发工具对所支持的平台是不一致的 2以下关于 QT 的描述不正确的是 a. QT 支持 2D 图形渲染 b. QT 支持 3D 图形渲染 c. QT 支持 OpenGL

d. QT 不支持 XML 3下关于不正确的是 a. 是面向嵌入式系统的 Qt 版本 b. 是 Qt 的嵌入式窗口 c. 基于 Windows 平台的开发工具 d. 是完整的自包含 C++ GUI 的开发工具 4内部对字符集的处理采用以下哪个标准 a. UNICODE b. ASCII c. GB2312 d. ISO 8859-1 5以下关于 Qt 描述不正确的是 a. 是基于面向对象的 C++语言 b. 提供了 signal 和 slot 的对象通信机制 c. 有可查询和可设计属性 d. 没有字符国际化 6以下描述正确的是 a. 标准的 C++对象模型可有效的支持运行时参数 b. 标准的 C++对象模型的静态特性十分灵活 c. 图形用户界面编程无需运行得高效 d. 图形用户界面编程无需运行得高灵活性 7以下不是 QT 增加的特性 a. 有效的对象通信 signal 和 slot b. 可查询和可设计的对象 c. 事件及事件过滤器 d. 不使用指针 8以下描述正确的是 a. 元对象系统可以对信号使用模板 b. 元对象系统可以对槽使用模板 c. Qt 可在多个平台的应用程序中完全应用模板 d. Qt 不能在多个平台的应用程序中完全应用模板 9以下关于 moc 叙述正确的是

a. moc 即 Mult Object Compiler b. 可产生能被任何标准 C++编译访问的附加 C++代码 c. moc 必须手动调用 d. 类声明中有无 Q_OBJECT 无所谓 10以下关于信号和槽的描述正确的是 a. 用于 SOCKET 网络通信 b. 用于 UDP 网络通信 e. 用于对象间通信 c. 用于串口通信 11以下关于信号/槽的叙述不正确的是 a. 信号与槽通过 connected 函数任意相连 b. 信号/槽机制在 QObject 类中实现 c. 从 QWidget 类继承的所有类可以包含信号和槽 d. 当对象状态变化时信号被发送对象不关心是否有其他对象接收到该信 号 12以下类声明中有几处错误 class M : public Qobject { Q_OBJECT public : M(); int value ( ) const { return va ; } public slots : void setValue ( int ) ; signals : void valueChanged ( int ) ; private: int va ; } a. 5 b. 4 c. 3 d. 2 13设有如下声明 void M : : setValue ( int v ) { if ( v = va ) { va = v ; emit valueChanged ( v ) ; } }

则对于如下语句 M a,b; connect ( &a , SIGNAL ( valueChanged ( int ) ) , &b , SLOT ( setValue ( int ) ) ) ; b.setValue ( 11 ) ; a.setValue ( 12 ) ; b.value ( ) ; 执行后值为 a. 11 11 b. 12 12 c. 11 12 d. 12 11 14以下关于槽的描述正确的是 a. 槽具有 public 和 protected 2 个类 b. protected slots 表示只有该类的子类的信号才能连接 c. 槽是普通成员函数 d. 不能有 private slots 15以下关于元对象系统不正确的是 a. 元对象系统只是用于处理对象间通信的信号/槽机制 b. 元对象系统可处理运行时的类型信息和动态属性系统 c. 元对象系统基于 Qobject 类 d. bc 都对 16不是元对象代码实现的特征的是 a. 提供信号/槽机制 b. Class.forName ( )在运行的时候返回类名称 c. tr ( )用于国际化中的字符串翻译 d. metaObject ( )返回该类所关联的元对象 17以下关于 Q_OBJECT 叙述不正确的是 a. 类定一种声明了 Q_OBJECT 后该类才能使用元对象系统相关的特性 b. Q_OBJECT 对所有类都无关紧要 c. QObject 的子类中未实现信号和槽也可使用 Q_OBJECT d. QObject 的子类中未实现属性也可使用 Q_OBJECT 18以下关于元对象编译器的叙述不正确的是 a. 元对象编译器不展开#define 但可展开#include b. 元对象编译器不展开#include c. 忽略遇到的所有预处理程序 d. 无法处理所有 C++语法 19有如下语句 class YourClass : public Qobject { Q_OBJECT public slots : void apply ( void ( *apply ) ( List * , void * ) , char * ) ; } 以下正确的是 a. 完全正确 b. 可以没有 Q_OBJECT

c. slots 关键字有误 d. 函数指针不能作为信号和槽的参数 20如下叙述不正确的是 a. 不能把继承的成员函数升级为共有状态 b. 宏不能用在信号和槽的参数中 c. 嵌套类不能放在信号部分 d. 嵌套类可以放在槽部分 21有如下声明 class Abc : public Qobject { ① Q_OBJECT ② public : ③ Q_PROPERTY(Priority priority READ priority setPriority ) ④ Q_ENUMS ( Priority ) enum Priority { High , Low , VeryHigh , VeryLow }; void setPriority ( Priority ) ; Priority priority ( ) const ; }; 关于属性声明的位置以下正确的是 a. 原位置正确 ① ② ③ ④ b. 原位置不正确应为 ① ③ ④ ② c. 原位置不正确应为 ① ③ ② ④ 22以下关于属性的叙述不正确的是 a. 基于元对象系统 b. 在类声明中用宏声明 c. 属性不是一个类的成员 d. 属性只能在继承于 QObject 的子类中声明 23以下关于 QObject 类叙述不正确的是 a. 是所有 Qt 对象的基类 b. QObject 对象树是一个静态的 QObjectList 类对象 object_trees c. object_trees 链表中存有部分对象指针 d. 通过 object_trees 链表可查询到所有的对象 24以下是事件处理方法的是 a. 重载 QApplication : : notify ( ) b. 重载 QObject : : event ( ) c. 重载 Qt 基类事件处理函数 d. 以上全是 25以下关于定时器的叙述不正确的是 a. 多数平台支持 2ms 精度的定时器 b. 使用定时器可以用 QTimer 类 c. 使用定时器可以用 QObject 类的定时器 d. 定时器精度依赖于操作系统和硬件 26以下关于 QObject 类定时器的叙述正确的是

WRITE

a. 当处理器正忙于其它事件的处理时定时器仍可以立即触发 b. 当定时器触发时应用程序会发送 QtimerEvent c. 用 startTimer ( )开始一个定时器如果成功则返回 0 d. 用 startTimer ( )开始一个定时器如果失败则返回-1 27以下是 QObject 提供的字符串翻译函数的选项是 a. translateit ( ) , trUtf8 ( ) b. translation ( ) c. tr ( ) , trUtf_8 ( ) d. tr ( ) , trUtf8 ( ) 28以下关于元对象的叙述不正确的是 a. 每个在类声明中含有 Q_OBJECT 宏的类都有一个对应的元对象 b. 每个在类声明中含有 Q_OBJECT 宏的类都有一个对应的 QMetaObject 类 对象 c. 元对象是动态的 d. 一个类可能含有多个元对象与之对应 29窗口部件的父类包括 a. QWidget b. QFrame c. QScrollView d. 以上全是 30以下关于 QWidget 类、QFrame 类和 QScrollView 类的关系叙述正确的是 a. 三个类是兄弟关系 b. 三个类是继承关系QWidget 为祖