您好,欢迎访问三七文档
QT理论试题1.以下关于QT的描述正确的是:a.是一个不跨平台的C++图形用户界面b.由挪威TrollTech公司出品c.只支持Unix、Linuxd.QTAPI和开发工具对所支持的平台是不一致的2.以下关于QT的描述不正确的是:a.QT支持2D图形渲染b.QT支持3D图形渲染c.QT支持OpenGLd.QT不支持XML3.下关于不正确的是:a.是面向嵌入式系统的Qt版本b.是Qt的嵌入式窗口c.基于Windows平台的开发工具d.是完整的自包含C++GUI的开发工具4.内部对字符集的处理采用以下哪个标准:a.UNICODEb.ASCIIc.GB2312d.ISO8859-15.以下关于Qt描述不正确的是a.是基于面向对象的C++语言b.提供了signal和slot的对象通信机制c.有可查询和可设计属性d.没有字符国际化6.以下描述正确的是:a.标准的C++对象模型可有效的支持运行时参数b.标准的C++对象模型的静态特性十分灵活c.图形用户界面编程无需运行得高效d.图形用户界面编程无需运行得高灵活性7.以下不是QT增加的特性:a.有效的对象通信signal和slotb.可查询和可设计的对象c.事件及事件过滤器d.不使用指针8.以下描述正确的是:a.元对象系统可以对信号使用模板b.元对象系统可以对槽使用模板c.Qt可在多个平台的应用程序中完全应用模板d.Qt不能在多个平台的应用程序中完全应用模板9.以下关于moc叙述正确的是:a.moc即MultObjectCompilerb.可产生能被任何标准C++编译访问的附加C++代码c.moc必须手动调用d.类声明中有无Q_OBJECT无所谓10.以下关于信号和槽的描述正确的是:a.用于SOCKET网络通信b.用于UDP网络通信e.用于对象间通信c.用于串口通信11.以下关于信号/槽的叙述不正确的是:a.信号与槽通过connected函数任意相连b.信号/槽机制在QObject类中实现c.从QWidget类继承的所有类可以包含信号和槽d.当对象状态变化时信号被发送,对象不关心是否有其他对象接收到该信号12.以下类声明中有几处错误?classM:publicQobject{public:M();intvalue()const{returnva;}publicslot:voidsetValue(int);signals:voidvalueChanged(int);private:intva;};a.5b.4c.3d.213.设有如下声明voidM::setValue(intv){if(v!=va){va=v;emitvalueChanged(v);}}则对于如下语句Ma,b;connect(&a,SIGNAL(valueChanged(int)),&b,SLOT(setValue(int)));b.setValue(11);a.setValue(12);b.value();执行后,值为:a.1111b.1212c.1112d.121114.以下关于槽的描述正确的是:a.槽具有public和protected2个类b.protectedslots表示只有该类的子类的信号才能连接c.槽是普通成员函数d.不能有privateslots15.以下关于元对象系统不正确的是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_OBJECTd.QObject的子类中未实现属性也可使用Q_OBJECT18.以下关于元对象编译器的叙述不正确的是:a.元对象编译器不展开#define,但可展开#includeb.元对象编译器不展开#includec.忽略遇到的所有预处理程序d.无法处理所有C++语法19.有如下语句classYourClass:publicQobject{Q_OBJECTpublicslots:voidapply(void(*apply)(List*,void*),char*);}以下正确的是a.完全正确b.可以没有Q_OBJECTc.slots关键字有误d.函数指针不能作为信号和槽的参数20.如下叙述不正确的是:a.不能把继承的成员函数升级为共有状态b.宏不能用在信号和槽的参数中c.嵌套类不能放在信号部分d.嵌套类可以放在槽部分21.有如下声明:classAbc:publicQobject{①Q_OBJECT②public:③Q_PROPERTY(PrioritypriorityREADpriorityWRITEsetPriority)④Q_ENUMS(Priority)enumPriority{High,Low,VeryHigh,VeryLow};voidsetPriority(Priority);Prioritypriority()const;};关于属性声明的位置以下正确的是:a.原位置正确①②③④b.原位置不正确,应为①③④②c.原位置不正确,应为①③②④22.以下关于属性的叙述不正确的是:a.基于元对象系统b.在类声明中用宏声明c.属性不是一个类的成员d.属性只能在继承于QObject的子类中声明23.以下关于QObject类叙述不正确的是:a.是所有Qt对象的基类b.QObject对象树是一个静态的QObjectList类对象object_treesc.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.当定时器触发时,应用程序会发送QtimerEventc.用startTimer()开始一个定时器,如果成功则返回0d.用startTimer()开始一个定时器,如果失败则返回-127.以下是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.QWidgetb.QFramec.QScrollViewd.以上全是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.其中,属性intmargin代表布局的外边框的宽度c.其中,属性intspacing代表布局内的窗口部件的大小d.其中,属性ResizeModeresizeMode代表布局的扩展方式34.布局窗口部件包括:a.QHBoxb.QVBoxc.QGridd.以上全有35.以下叙述不正确的是:a.QHBox允许子窗口部件按水平、垂直和网格排列b.QVBox允许子窗口部件按水平、垂直和网格排列c.QGrid允许子窗口部件按水平、垂直和网格排列d.以上全不对36.以下各项中,是QLayout子类的是:a.QGridLayoutb.QHBoxLayoutc.QVBoxLayoutd.b和c37.如果对默认放置位置不满意,则须采取相应的措施,以下哪项不是:a.创建没有父布局的布局对象b.调用addLayout()把这个布局插入到其他布局中c.没有办法d.a和b38.以下关于集合类描述不正确的是:a.它是装有多个条目的容器b.每个条目是某种数据结构c.集合类可对容器中的条目做插入操作d.集合类不能对容器中的条目做删除操作39.以下各项中属于基于值的集合类是:a.QCacheb.QMapc.QPtrListd.QDict40.以下各项中属于基于指针的集合类的是:a.QIntCacheb.QValueStakc.QValueVectord.QValueList41.以下各项中既不基于指针也不基于值的是:a.QIntDictb.QPtrListc.QPtrStackd.QMemArray42.所有基于指针的集合继承了如下哪个类?a.QGCacheb.QGVectorc.QPtrCollectiond.QGList43.当插入一个条目到一个集合时,如下不正确的是:a.仅拷贝指针而不拷贝条目本身的,称“浅拷贝”b.不允许只拷贝指针而不拷贝条目本身c.拷贝所有条目的数组到集合中是可能的d.选项C又称“深拷贝”44.以下各项中不是与Qt线程相关的类的是:a.QMutexb.QSemaphorec.QThreadd.以上都不是45.以下关于Qt线程叙述正确的是:a.Qt中提供了Thread线程类b.Qt中提供了QThread线程类c.通过重载Thread::run()函数定义线程的执行内容d.通过重载QThread::_run()函数定义线程的执行内容46.有如下关于线程的代码:classYour_Class:publicQThread{public:virtualvoidrun();};voidYour_Class:run(){for(inti=0;i100;i++);}intmain(){Your_Classa;a.run();return0;}其中有几处错误:a.1b.2c.3d.447.以下关于线程编程时的注意事项中不正确的是: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.Copyb.Movec.Linkd
本文标题:QT理论试题及答案
链接地址:https://www.777doc.com/doc-3485483 .html