资源描述
一、选择题(每题2分,共15题,30分)
1.以下关于QT的描述正确的是:B
a. 是一个不跨平台的C++图形用户界面
b. 由挪威TrollTech公司出品
c. 只支持Unix、Linux
d. QT API和开发工具对所支持的平台是不一致的
1. 内部对字符集的处理采用以下哪个标准:A
a. UNICODE
b. ASCII
c. GB2312
d. ISO 8859-1
2. 以下描述正确的是: A
a. 标准的C++对象模型可有效的支持运行时参数
b. 标准的C++对象模型的静态特性十分灵活
c. 图形用户界面编程无需运行得高效
d. 图形用户界面编程无需运行得高灵活性
3. 以下不是QT增加的特性:D
a. 有效的对象通信signal和slot
b. 可查询和可设计的对象
c. 事件及事件过滤器
d. 不使用指针
4. 以下描述正确的是:C
a. 元对象系统可以对信号使用模板
b. 元对象系统可以对槽使用模板
c. Qt可在多个平台的应用程序中完全应用模板
d. Qt不能在多个平台的应用程序中完全应用模板
5. 以下关于moc叙述正确的是:B
a. moc即Mult Object Compiler
b. 可产生能被任何标准C++编译访问的附加C++代码
c. moc必须手动调用
d. 类声明中有无Q_OBJECT无所谓
6. 以下关于信号/槽的叙述不正确的是: D
a. 信号与槽通过connected函数任意相连
b. 信号/槽机制在QObject类中实现
c. 从QWidget类继承的所有类可以包含信号和槽
d. 当对象状态变化时信号被发送,对象不关心是否有其他对象接收到该信号
7. 设有如下声明B
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
8. 不是元对象代码实现的特征的是:B
a. 提供信号/槽机制
b. Class.forName ( )在运行的时候返回类名称
c. tr ( )用于国际化中的字符串翻译
d. metaObject ( )返回该类所关联的元对象
9. 以下关于Q_OBJECT叙述不正确的是:B
a. 类定一种声明了Q_OBJECT后,该类才能使用元对象系统相关的特性
b. Q_OBJECT对所有类都无关紧要
c. QObject的子类中未实现信号和槽也可使用Q_OBJECT
d. QObject的子类中未实现属性也可使用Q_OBJECT
10. 以下关于元对象编译器的叙述不正确的是:A
a. 元对象编译器不展开#define ,但可展开#include
b. 元对象编译器不展开#include
c. 忽略遇到的所有预处理程序
d. 无法处理所有C++语法
11. 如下叙述不正确的是: D
a. 不能把继承的成员函数升级为共有状态
b. 宏不能用在信号和槽的参数中
c. 嵌套类不能放在信号部分
d. 嵌套类可以放在槽部分
12.以下关于属性的叙述不正确的是: D
a. 基于元对象系统
b. 在类声明中用宏声明
c. 属性不是一个类的成员
d. 属性只能在继承于QObject的子类中声明
12. 以下是事件处理方法的是: D
a. 重载QApplication : : notify ( )
b. 重载QObject : : event ( )
c. 重载Qt基类事件处理函数
d. 以上全是
13. 以下关于QWidget类、QFrame类和QScrollView类的关系叙述正确的是:B
a. 三个类是兄弟关系
b. 三个类是继承关系:QWidget为祖父,QFrame为父,QScrollView为子
c. 三个类是继承关系:QFrame为祖父,QWidget为父,QScrollView为子
a. 三个类是继承关系:QFrame为祖父,QWidget与QScrollView互为兄弟
二、填空题(每空1分,共20个空,20分)
1. 创建一个窗体对象后,要想显示该窗体,需要调用对象的___show_______方法,要想隐藏该窗体需要调用对象的____hide______方法。
2. Qt标准输入对话框提供了4种数据类型的输入,它们是:____字符串______、______int类型的数据_____、____double类型的数据_______、__下拉列表框的条目______。
3. Qt的Graphics View框架结构主要包含了三个主要的类,分别是:____QGraphicsScene_______、___QGraphicsView_______、____QGraphicsItem________。
4. 使QTimer对象开始计时的方法是___start()__________。
5. 设置QLabel对象显示文本内容的方法是___show()________。
6. MVC模式中的M代表___Model_______,V代表__View________,C代表___Controller ______。
7. Qt中的常用标准对话框有____FileDialog___________、__ColorDialog__________、___FontDialog_________。
8. Qt中常用的布局管理器有___QHBoxLayout_______、__QVBoxLayout_________和_QGridLayout_________等。
9. Qt的文本域控件是哪个类____QText_Edit_____。
三、判断题(每空2分,共10题,20分)
1、 在使用控件时需要处理的是信号,在实现一个控件时需要处理事件(∨)
2、 函数sizeHint()返回的是控件在不同文本时完整显示所需的尺寸(∨)。
3、 调用startTimer(30)以后,Qt大约每30毫秒产生一个事件(∨)。
4、 布局管理器派生自QObject。(∨)
5、 QT窗口部件可以作为拖动点也可以作为放下点(∨)。
6、 Q_OBJECT是一个宏定义,如果类里面用到了signal或者slots,就必须要声明这个宏。(∨)
7、 FindDialog(QWidget *parent = 0);父参数为NULL,说明没有父控件。(∨)
8、 槽可以是虚函数,可以是公有的,保护的,也可是私有的。(∨)
9.show()显示的对话框是无模式对话框。用exec()显示的对话框是模式对话框(∨)
9、 当用户在窗口部件上放下一个对象时,就会调用dropEvent()(∨)。
四、简答题(每空6分,共5题,30分)
1. Qt中有哪些方式对窗体上的控件进行布局管理。
. 绝对位置定位(absolute positioning),手工布局(manual layout),布局管理器(layout managers)。
2. QT有哪些特点。
轻型,占用资源少,高性能,高可靠性,便于移植,可配置
3. 利用Qt Designer设计一个对话框主要包括哪些步骤。
答:创建窗体并在窗体中放置各种控件
对窗体进行布局管理
设置各空间的标签顺序
创建信号和槽
连接信号和槽
4. 列举出信号和插槽有哪几种用法?
一个信号可以连接多个槽:connect(slider,SIGNAL(valuechanged(int)),spinBox,SLOT(setValue(int)))connect(slider,SIGNAL(valuechanged(int)),this,SLOT(updateStatusBarIndicator(int)))
多个信号连接同一个槽connect(lcd,SIGNAL(overflow(int)),this,SLOT(handlMathError(int)))connect(calculator,SIGNAL(divisionByZero(int)),this,SLOT(handlMathError (int)))
一个信号可以与另外一个信号相连接connect(lineEdit,SIGNAL(textchanged(const QString &)),this,SLOT(updateRecord(const QString &)))
连接可以被移除disconnect(lcd,SIGNAL(overflow(int)),this,SLOT(handlMathError(int)))
5. 实现一个事件过滤包括两个步骤:
1. 在目标对象上调用installEventFilter(),注册监视对象。
2. 在监视对象的eventFilter()函数中处理目标对象的事件。
展开阅读全文