首页 > 代码库 > QT理论试题与答案
QT理论试题与答案
QT理论试题
1. 以下关于QT的描述正确的是:
- 是一个不跨平台的C++图形用户界面
- 由挪威TrollTech公司出品
- 只支持Unix、Linux
- QT API和开发工具对所支持的平台是不一致的
1. 以下关于QT的描述不正确的是:
- QT支持2D图形渲染
- QT支持3D图形渲染
- QT支持OpenGL
- QT不支持XML
2. 下关于不正确的是:
- 是面向嵌入式系统的Qt版本
- 是Qt的嵌入式窗口
- 基于Windows平台的开发工具
- 是完整的自包含C++ GUI的开发工具
3. 内部对字符集的处理采用以下哪个标准:
- UNICODE
- ASCII
- GB2312
- ISO 8859-1
4. 以下关于Qt描述不正确的是
- 是基于面向对象的C++语言
- 提供了signal和slot的对象通信机制
- 有可查询和可设计属性
- 没有字符国际化
5. 以下描述正确的是:
- 标准的C++对象模型可有效的支持运行时参数
- 标准的C++对象模型的静态特性十分灵活
- 图形用户界面编程无需运行得高效
- 图形用户界面编程无需运行得高灵活性
6. 以下不是QT增加的特性:
- 有效的对象通信signal和slot
- 可查询和可设计的对象
- 事件及事件过滤器
- 不使用指针
7. 以下描述正确的是:
- 元对象系统可以对信号使用模板
- 元对象系统可以对槽使用模板
- Qt可在多个平台的应用程序中完全应用模板
- Qt不能在多个平台的应用程序中完全应用模板
8. 以下关于moc叙述正确的是:
- moc即Mult Object Compiler
- 可产生能被任何标准C++编译访问的附加C++代码
- moc必须手动调用
- 类声明中有无Q_OBJECT无所谓
10.以下关于信号和槽的描述正确的是:
- 用于SOCKET网络通信
- 用于UDP网络通信
- 用于对象间通信
- 用于串口通信
11.以下关于信号/槽的叙述不正确的是:
- 信号与槽通过connected函数任意相连
- 信号/槽机制在QObject类中实现
- 从QWidget类继承的所有类可以包含信号和槽
- 当对象状态变化时信号被发送,对象不关心是否有其他对象接收到该信号
12.以下类声明中有几处错误?
class M : public Qobject
{
public :
M ( ) ;
int value ( ) const
{
return va ;
}
public slot :
void setValue ( int ) ;
signals :
void valueChanged ( int ) ;
private:
int va ;
};
- 5
- 4
- 3
- 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.以下关于槽的描述正确的是:
- 槽具有public和protected 2个类
- protected slots 表示只有该类的子类的信号才能连接
- 槽是普通成员函数
- 不能有private slots
15.以下关于元对象系统不正确的是
- 元对象系统只是用于处理对象间通信的信号/槽机制
- 元对象系统可处理运行时的类型信息和动态属性系统
- 元对象系统基于Qobject类
- bc都对
16.不是元对象代码实现的特征的是:
- 提供信号/槽机制
- Class.forName ( )在运行的时候返回类名称
- tr ( )用于国际化中的字符串翻译
- metaObject ( )返回该类所关联的元对象
17.以下关于Q_OBJECT叙述不正确的是:
- 类定一种声明了Q_OBJECT后,该类才能使用元对象系统相关的特性
- Q_OBJECT对所有类都无关紧要
- QObject的子类中未实现信号和槽也可使用Q_OBJECT
- QObject的子类中未实现属性也可使用Q_OBJECT
18.以下关于元对象编译器的叙述不正确的是:
- 元对象编译器不展开#define ,但可展开#include
- 元对象编译器不展开#include
- 忽略遇到的所有预处理程序
- 无法处理所有C++语法
19.有如下语句
class YourClass : public Qobject
{
Q_OBJECT
public slots :
void apply ( void ( *apply ) ( List * , void * ) , char * ) ;
}
以下正确的是
- 完全正确
- 可以没有Q_OBJECT
- slots关键字有误
- 函数指针不能作为信号和槽的参数
20.如下叙述不正确的是:
- 不能把继承的成员函数升级为共有状态
- 宏不能用在信号和槽的参数中
- 嵌套类不能放在信号部分
- 嵌套类可以放在槽部分
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 ;
};
关于属性声明的位置以下正确的是:
- 原位置正确 ① ② ③ ④
- 原位置不正确,应为 ① ③ ④ ②
- 原位置不正确,应为 ① ③ ② ④
22.以下关于属性的叙述不正确的是:
- 基于元对象系统
- 在类声明中用宏声明
- 属性不是一个类的成员
- 属性只能在继承于QObject的子类中声明
23.以下关于QObject类叙述不正确的是:
- 是所有Qt对象的基类
- QObject对象树是一个静态的QObjectList类对象object_trees
- object_trees链表中存有部分对象指针
- 通过object_trees链表可查询到所有的对象
24.以下是事件处理方法的是:
- 重载QApplication : : notify ( )
- 重载QObject : : event ( )
- 重载Qt基类事件处理函数
- 以上全是
25.以下关于定时器的叙述不正确的是:
- 多数平台支持2ms精度的定时器
- 使用定时器,可以用QTimer类
- 使用定时器,可以用QObject类的定时器
- 定时器精度依赖于操作系统和硬件
26.以下关于QObject类定时器的叙述正确的是:
- 当处理器正忙于其它事件的处理时,定时器仍可以立即触发
- 当定时器触发时,应用程序会发送QtimerEvent
- 用startTimer ( )开始一个定时器,如果成功则返回0
- 用startTimer ( )开始一个定时器,如果失败则返回-1
27.以下是QObject提供的字符串翻译函数的选项是:
- translateit ( ) , trUtf8 ( )
- translation ( )
- tr ( ) , trUtf_8 ( )
- tr ( ) , trUtf8 ( )
28.以下关于元对象的叙述不正确的是:
- 每个在类声明中含有Q_OBJECT宏的类都有一个对应的元对象
- 每个在类声明中含有Q_OBJECT宏的类都有一个对应的QMetaObject类对象
- 元对象是动态的
- 一个类可能含有多个元对象与之对应
29.窗口部件的父类包括:
- QWidget
- QFrame
- QScrollView
- 以上全是
30.以下关于QWidget类、QFrame类和QScrollView类的关系叙述正确的是:
- 三个类是兄弟关系
- 三个类是继承关系:QWidget为祖父,QFrame为父,QScrollView为子
- 三个类是继承关系:QFrame为祖父,QWidget为父,QScrollView为子
- 三个类是继承关系:QFrame为祖父,QWidget与QScrollView互为兄弟
31.以下关于Qt风格叙述正确的是:
- Qt的风格类的基类是QStyle类
- QStyle的多数成员函数即有声明也有实现
- 其实现只能在QCommonStyle类中通过重载来完成
- 其实现只能在QWindowStyle类中通过重载来完成
32.关于布局功能的叙述,以下正确的是:
- 在布局空间中布置子窗口部件
- 设置子窗口部件间的空隙
- 管理在布局空间中布置子窗口部件
- 以上都对
33.以下关于QLayout的描述不正确的是:
- 是的布局系统抽象基类
- 其中,属性int margin代表布局的外边框的宽度
- 其中,属性int spacing代表布局内的窗口部件的大小
- 其中,属性ResizeMode resizeMode代表布局的扩展方式
34.布局窗口部件包括:
- QHBox
- QVBox
- QGrid
- 以上全有
35.以下叙述不正确的是:
- QHBox允许子窗口部件按水平、垂直和网格排列
- QVBox允许子窗口部件按水平、垂直和网格排列
- QGrid允许子窗口部件按水平、垂直和网格排列
- 以上全不对
36.以下各项中,是QLayout子类的是:
- QGridLayout
- QHBoxLayout
- QVBoxLayout
- b和c
37.如果对默认放置位置不满意,则须采取相应的措施,以下哪项不是:
- 创建没有父布局的布局对象
- 调用addLayout ( )把这个布局插入到其他布局中
- 没有办法
- a和b
38.以下关于集合类描述不正确的是:
- 它是装有多个条目的容器
- 每个条目是某种数据结构
- 集合类可对容器中的条目做插入操作
- 集合类不能对容器中的条目做删除操作
39.以下各项中属于基于值的集合类是:
- QCache
- QMap
- QPtrList
- QDict
40.以下各项中属于基于指针的集合类的是:
- QIntCache
- QValueStak
- QValueVector
- QValueList
41.以下各项中既不基于指针也不基于值的是:
- QIntDict
- QPtrList
- QPtrStack
- QMemArray
42.所有基于指针的集合继承了如下哪个类?
- QGCache
- QGVector
- QPtrCollection
- QGList
43.当插入一个条目到一个集合时,如下不正确的是:
- 仅拷贝指针而不拷贝条目本身的,称“浅拷贝”
- 不允许只拷贝指针而不拷贝条目本身
- 拷贝所有条目的数组到集合中是可能的
- 选项C又称“深拷贝”
44.以下各项中不是与Qt线程相关的类的是:
- QMutex
- QSemaphore
- QThread
- 以上都不是
45.以下关于Qt线程叙述正确的是:
- Qt中提供了Thread线程类
- Qt中提供了QThread线程类
- 通过重载Thread : : run ( ) 函数定义线程的执行内容
- 通过重载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 ;
}
其中有几处错误:
- 1
- 2
- 3
- 4
47.以下关于线程编程时的注意事项中不正确的是:
- 在持有Qt库互斥量时必须执行阻塞操作
- 在调用除了Qt容器和工具类外的任何内容之前,锁定Qt应用程序互斥量
- 只在GUI线程中使用QNetwork类
- 不要在应用程序中把普通Qt库与支持线程的Qt库混用
48.以下不属于拖放机制的是:
- 拖动
- 剪贴板
- 放下
- 以上都不是
49.以下关于拖动的叙述错误的是:
- 在拖动之后,QDragObject被立即删除
- 拖放明显完成后,这个QDragObject要被保存
- QDragObject可能要与其他进程通信
- QDragObject对象最后由Qt删除
50.在一些简单情况下,拖放的目标接收一个被拖动数据的拷贝,并且由源决定是否删除初始的拖动对象,这是QDropEvent中的什么操作?
- Copy
- Move
- Link
- 以上都不是
51.Qt/Embedded的开发公司是:
- Microsoft
- Sun
- Oracle
- Trolltech
52.以下各项中关于焦点定位的习惯方式叙述错误的是:
- 用户按Tab键
- 用户按Enter键
- b选项不是
- 用户使用鼠标滚轮
53.以下关于Qt/Embedded叙述不正确的是:
- 是C/S结构
- 类库完全采用C语言
- 采用framebuffer作为底层图形接口
- 将外部输入设备抽象为keyboard和mouse输入事件
54.以下关于字体的叙述正确的是:
- Qt/Embedded用QFontManager管理字体,与字体相关的类在服务器端运行
- Qt/Embedded用QFontManager管理字体,与字体相关的类在客户端运行
- Qt/Embedded用FontManager管理字体,与字体相关的类在服务器端运行
- Qt/Embedded用FontManager管理字体,与字体相关的类在客户端运行
55.以下各项中与显示无关的类是:
- QScreen
- QLock
- QWSManager
- QDiskFont
56.以下不是Qt支持的图像格式是:
- JPG
- PNG
- BMP
- XPM
57.以下叙述正确的是:
- Qt支持GIF格式图像,且可以存储它们
- Qt支持GIF格式图像,但不可以存储它们
- Qt不支持GIF格式图像,但可以存储它们
- Qt不支持GIF格式图像,且不可以存储它们
58.用QPainter的转换函数对图像做转换后,若要恢复图像的原样,则以下正确的是:
- 无法实现
- 可以实现,用QPainter : : resetForm ( ) 只能恢复最近一次的转换
- 可以实现,用QPainter : : resetForm ( ) 可以撤销所有的转换操作
59.用QPixmap对象打开GIF动画,以下叙述正确的是:
- 可以看到动画
- 看不到任何画面
- 只能看到动画的第一帧
- 只能看到动画的最后一帧
60.以下关于Qt/Embedded客户端与服务器的描述不正确的是:
- 客户端可以有多个
- 服务器可以有多个
- 客户端只有一个
- 服务器只有一个
QT理论试题与答案