资源描述
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
{
public :
M ( ) ;
int value ( ) const
{
return va ;
}
public slot :
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 WRITE 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类定时器的叙述正确的是:
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为祖父,QFrame为父,QScrollView为子
c. 三个类是继承关系:QFrame为祖父,QWidget为父,QScrollView为子
d. 三个类是继承关系:QFrame为祖父,QWidget与QScrollView互为兄弟
31.以下关于Qt风格叙述正确的是:
a. Qt的风格类的基类是QStyle类
b. QStyle的多数成员函数即有声明也有实现
c. 其实现只能在QCommonStyle类中通过重载来完成
d. 其实现只能在QWindowStyle类中通过重载来完成
32.关于布局功能的叙述,以下正确的是:
a. 在布局空间中布置子窗口部件
b. 设置子窗口部件间的空隙
c. 管理在布局空间中布置子窗口部件
d. 以上都对
33.以下关于QLayout的描述不正确的是:
a. 是的布局系统抽象基类
b. 其中,属性int margin代表布局的外边框的宽度
c. 其中,属性int spacing代表布局内的窗口部件的大小
d. 其中,属性ResizeMode resizeMode代表布局的扩展方式
34.布局窗口部件包括:
a. QHBox
b. QVBox
c. QGrid
d. 以上全有
35.以下叙述不正确的是:
a. QHBox允许子窗口部件按水平、垂直和网格排列
b. QVBox允许子窗口部件按水平、垂直和网格排列
c. QGrid允许子窗口部件按水平、垂直和网格排列
d. 以上全不对
36.以下各项中,是QLayout子类的是:
a. QGridLayout
b. QHBoxLayout
c. QVBoxLayout
d. b和c
37.如果对默认放置位置不满意,则须采取相应的措施,以下哪项不是:
a. 创建没有父布局的布局对象
b. 调用addLayout ( )把这个布局插入到其他布局中
c. 没有办法
d. a和b
38.以下关于集合类描述不正确的是:
a. 它是装有多个条目的容器
b. 每个条目是某种数据结构
c. 集合类可对容器中的条目做插入操作
d. 集合类不能对容器中的条目做删除操作
39.以下各项中属于基于值的集合类是:
a. QCache
b. QMap
c. QPtrList
d. QDict
40.以下各项中属于基于指针的集合类的是:
a. QIntCache
b. QValueStak
c. QValueVector
d. QValueList
41.以下各项中既不基于指针也不基于值的是:
a. QIntDict
b. QPtrList
c. QPtrStack
d. QMemArray
42.所有基于指针的集合继承了如下哪个类?
a. QGCache
b. QGVector
c. QPtrCollection
d. QGList
43.当插入一个条目到一个集合时,如下不正确的是:
a. 仅拷贝指针而不拷贝条目本身的,称“浅拷贝”
b. 不允许只拷贝指针而不拷贝条目本身
c. 拷贝所有条目的数组到集合中是可能的
d. 选项C又称“深拷贝”
44.以下各项中不是与Qt线程相关的类的是:
a. QMutex
b. QSemaphore
c. QThread
d. 以上都不是
45.以下关于Qt线程叙述正确的是:
a. Qt中提供了Thread线程类
b. Qt中提供了QThread线程类
c. 通过重载Thread : : run ( ) 函数定义线程的执行内容
d. 通过重载QThread : : _run ( ) 函数定义线程的执行内容
46.有如下关于线程的代码:
class Your_Class : public QThread
{
public :
virtual void run ( ) ;
} ;
void Your_Class : run ( )
{
for ( int i=0 ; i < 100 ; i++ ) ;
}
int main ( )
{
Your_Class a ;
a . run ( ) ;
return 0 ;
}
其中有几处错误:
a. 1
b. 2
c. 3
d. 4
47.以下关于线程编程时的注意事项中不正确的是:
a. 在持有Qt库互斥量时必须执行阻塞操作
b. 在调用除了Qt容器和工具类外的任何内容之前,锁定Qt应用程序互斥量
c. 只在GUI线程中使用QNetwork类
d. 不要在应用程序中把普通Qt库与支持线程的Qt库混用
48.以下不属于拖放机制的是:
a. 拖动
b. 剪贴板
c. 放下
d. 以上都不是
49.以下关于拖动的叙述错误的是:
a. 在拖动之后,QDragObject被立即删除
b. 拖放明显完成后,这个QDragObject要被保存
c. QDragObject可能要与其他进程通信
d. QDragObject对象最后由Qt删除
50.在一些简单情况下,拖放的目标接收一个被拖动数据的拷贝,并且由源决定是否删除初始的拖动对象,这是QDropEvent中的什么操作?
a. Copy
b. Move
c. Link
d. 以上都不是
51.Qt/Embedded的开发公司是:
a. Microsoft
b. Sun
c. Oracle
d. Trolltech
52.以下各项中关于焦点定位的习惯方式叙述错误的是:
a. 用户按Tab键
b. 用户按Enter键
c. b选项不是
d. 用户使用鼠标滚轮
53.以下关于Qt/Embedded叙述不正确的是:
a. 是C/S结构
b. 类库完全采用C语言
c. 采用framebuffer作为底层图形接口
d. 将外部输入设备抽象为keyboard和mouse输入事件
54.以下关于字体的叙述正确的是:
a. Qt/Embedded用QFontManager管理字体,与字体相关的类在服务器端运行
b. Qt/Embedded用QFontManager管理字体,与字体相关的类在客户端运行
c. Qt/Embedded用FontManager管理字体,与字体相关的类在服务器端运行
d. Qt/Embedded用FontManager管理字体,与字体相关的类在客户端运行
55.以下各项中与显示无关的类是:
a. QScreen
b. QLock
c. QWSManager
d. QDiskFont
56.以下不是Qt支持的图像格式是:
a. JPG
b. PNG
c. BMP
d. XPM
57.以下叙述正确的是:
a. Qt支持GIF格式图像,且可以存储它们
b. Qt支持GIF格式图像,但不可以存储它们
c. Qt不支持GIF格式图像,但可以存储它们
d. Qt不支持GIF格式图像,且不可以存储它们
58.用QPainter的转换函数对图像做转换后,若要恢复图像的原样,则以下正确的是:
a. 无法实现
b. 可以实现,用QPainter : : resetForm ( ) 只能恢复最近一次的转换
c. 可以实现,用QPainter : : resetForm ( ) 可以撤销所有的转换操作
59.用QPixmap对象打开GIF动画,以下叙述正确的是:
a. 可以看到动画
b. 看不到任何画面
c. 只能看到动画的第一帧
d. 只能看到动画的最后一帧
60.以下关于Qt/Embedded客户端与服务器的描述不正确的是:
a. 客户端可以有多个
b. 服务器可以有多个
c. 客户端只有一个
d. 服务器只有一个
展开阅读全文