【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.以下关于QT不正确的是:
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 网络通信
c. 用于对象间通信
d. 用于串口通信

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 的子类中未实现属性也可使用

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.不能把继承的成员函数升级(shēng jí)为共有
状态
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 宏的类都有一个(yī ɡè)对应的元对象
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.三个类是继承(jìchéng)关系: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.当插入一个条目到一个集合(jíhé)时,如下不正确的是:
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.有如下(rúxià)关于线程的代码:
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.服务器只有一个

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值