Qt的理论面试题目

1.以下关于QT的描述正确的是: 
a。是一个不跨平台的C ++图形用户界面
b。由挪威TrollTech公司出品
c。只支持UnixLinux
d。QT API和开发工具对所有支持的平台是不一致的
2.以下关于QT的描述不正确的是:
a。QT支持2D图形渲染
QT支持3D图形渲染
℃。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.提供了signalslot的对象通信机制
c.有可查询和可设计属性
d.没有字符国际化
6.以下描述正确的是: 
a.标准的C++对象模型可有效的支持运行时参数
b.标准的C++对象模型的静态特性十分灵活
c.图形用户界面编程无需运行得高效
d.图形用户界面编程无需运行得高灵活性
7.以下不是QT增加的特性:
a.有效的对象通信signalslot
b.可查询和可设计的对象
c.事件及事件过滤器
d.不使用指针
8.以下描述正确的是:
a.元对象系统可以对信号使用模板
b.元对象系统可以对槽使用模板
c.Qt可在多个平台的应用程序中完全应用模板
d.Qt不能在多个平台的应用程序中完全应用模板
9.以下关于moc叙述正确的是: 
a.mocMultObject 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的子类中未实现属性也可使用Q_OBJECT
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.不能把继承的成员函数升级为共有状态
b.宏不能用在信号和槽的参数中
c.嵌套类不能放在信号部分
d.嵌套类可以放在槽部分
21.有如下声明:
       class Abc : public  Qobject
       {
              ①  Q_OBJECT
②      public :
③          Q_PROPERTY(Priority priority READ priorityWRITE  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宏的类都有一个对应的元对象
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.三个类是继承关系: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.当插入一个条目到一个集合时,如下不正确的是:
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.有如下关于线程的代码:
       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键
cb选项不是
d。用户使用鼠标滚轮
53.以下关于Qt / Embedded 叙述不正确的是:
a。是C / S结构
b。类库完全采用C语言
c。采用framebuffer作为底层图形接口
d。将外部输入设备抽象为键盘和鼠标输入事件
54.以下关于字体的
叙述正确的是:a.Qt / Embedded使用QFontManager管理字体,与字体相关的类在服务器端运行
b.Qt /嵌入式用QFontManager管理字体,与字体相关的类在客户端运行
c.Qt /嵌入式用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()只能恢复最近一次的转换
。可以撤销所有的转换操作
59.用QPixmap对象打开GIF动画,以下叙述正确的是:
a。可以看到动画
b。看不到任何画面
c。只能看到动画的第一帧
d。只能看到动画的最后一帧
60.以下关于Qt / Embedded客户端与服务器的描述不正确的是:
a。客户端可以有多个
b。服务器可以有多个
c。客户端只有一个

d。服务器只有一个

后面的答案我会日后处理。

转自:https://blog.csdn.net/kaishang0713/article/details/16988575

猜你喜欢

转载自blog.csdn.net/shenaisi/article/details/80793015