Qt Creator 快速入门期末考试试卷及答案

更新时间:2023-12-19 00:47:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、选择题(每题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. c. a. 三个类是兄弟关系

三个类是继承关系:QWidget为祖父,QFrame为父,QScrollView为子 三个类是继承关系:QFrame为祖父,QWidget为父,QScrollView为子 三个类是继承关系: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()函数中处理目标对象的事件。

本文来源:https://www.bwwdw.com/article/dh55.html

Top