QT理论试题及答案Word格式文档下载.docx
- 文档编号:21646026
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:29
- 大小:51.74KB
QT理论试题及答案Word格式文档下载.docx
《QT理论试题及答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《QT理论试题及答案Word格式文档下载.docx(29页珍藏版)》请在冰豆网上搜索。
e.用于对象间通信
c.用于串口通信
11.以下关于信号/槽的叙述不正确的是:
a.信号与槽通过connected函数任意相连
b.信号/槽机制在QObject类中实现
c.从QWidget类继承的所有类可以包含信号和槽
d.当对象状态变化时信号被发送,对象不关心是否有其他对象接收到该信号
12.以下类声明中有几处错误?
classM:
publicQobject
{Q_OBJECT
public:
M();
intvalue()const
{
returnva;
}
publicslots:
voidsetValue(int);
signals:
voidvalueChanged(int);
private:
intva;
};
a.5
b.4
c.3
d.2
13.设有如下声明
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。
1211
14.以下关于槽的描述正确的是:
a.槽具有public和protected2个类
b.protectedslots表示只有该类的子类的信号才能连接
c.槽是普通成员函数
d.不能有privateslots
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.有如下语句
classYourClass:
{
Q_OBJECT
publicslots:
voidapply(void(*apply)(List*,void*),char*);
}
以下正确的是
a.完全正确
b.可以没有Q_OBJECT
c.slots关键字有误
d.函数指针不能作为信号和槽的参数
20.如下叙述不正确的是:
a.不能把继承的成员函数升级为共有状态
b.宏不能用在信号和槽的参数中
c.嵌套类不能放在信号部分
d.嵌套类可以放在槽部分
21.有如下声明:
classAbc:
{
①Q_OBJECT
2public:
3Q_PROPERTY(PrioritypriorityREADpriorityWRITEsetPriority)
4Q_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_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
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.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.有如下关于线程的代码:
classYour_Class:
publicQThread
public:
virtualvoidrun();
};
voidYour_Class:
run()Your—-Class:
:
run();
for(inti=0;
i〈100;
i++);
intmain()
Your_Classa;
a.run();
return0;
其中有几处错误:
a.1
b.2
d.4
47.以下关于线程编程时的注意事项中不正确的是:
a.在持有Qt库互斥量时必须执行阻塞操作
b.在调用除了Qt容器和工具类外的任何内容之前,锁定Qt应用程序互斥量
c.只在GUI线程中使用QNetwork类
d.不要在应用程序中把普通Qt库与支持线程的Qt库混用
48.以下不属于拖放机制的是:
a.拖动
b.剪贴板
c.放下
49.以下关于拖动的叙述错误的是:
a.在拖动之后,QDragObject被立即删除
b.拖放明显完成后,这个QDragObject要被保存
c.QDragObject可能要与其他进程通信
d.QDragObject对象最后由Qt删除
50.在一些简单情况下,拖放的目标接收一个被拖动数据的拷贝,并且由源决定是否删除初始的拖动对象,这是QDropEvent中的什么操作?
a.Copy
b.Move
c.Link
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.服务器只有一个
简答题
1、什么是qt,有什么优点?
答:
Qt是诺基亚开发的一个跨平台的C++图形用户界面应用程序框架。
它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。
Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程.是一个跨平台的C++图形用户界面库.Qt具有非常强的跨平台和移植性强的特点。
同时支持linux、windows、嵌入式的用户界面开发。
2、使用Qt编码实现Lable显示“helloworld”的功能。
#include<
QtGui/QApplication>
#include<
QtGui/QWidget>
#include〈QtGui/QLabel〉
//#include<
QtCore/QTextCodec〉
intmain(intargc,char*argv[])
{
QApplicationapp(argc,argv);
//QTextCodec:
:
setCodecForTr(QTextCodec:
codecForName("
gb18030"
));
QWidget*pWidget=newQWidget;
QLabellabel(pWidget);
label.setText(”helloworld”);
pWidget-〉show();
returnapp。
exec();
}
3、编写代码实现调用槽函数退出的quit程序,界面如下:
#include〈QtGui/QWidget〉
#include〈QPushButton>
QtGui〉
intmain(intargc,char*argv[])
QWidget*pWidget=newQWidget;
QPushButton*button=newQPushButton("
Quit"
pWidget);
QObject:
connect(button,SIGNAL(clicked()),pWidget,SLOT(close()));
}
4、编程实现spinbox和slider(QSlider(Qt:
Horizontal))之间的交互,界面如下,两种期间的范围全部是0-130.Title为“enteryourage"
#include〈QApplication〉
QHBoxLayout〉
#include〈QSpinBox>
#include〈QSlider>
intmain(intargc,char*argv[])
//创建app的构造函数
QWidget*pWidget=newQWidget;
//new一个Widget
pWidget->
setWindowTitle("
enteryourage"
);
//设置caption
QSpinBox*spinbox=newQSpinBox;
//new一个spinbox
QSlider*slider=newQSlider(Qt:
Horizontal);
//new一个slider
spinbox—〉setRange(0,130);
//设置范围,—〉符号
slider—>
setRange(0,130);
connect(spinbox,SIGNAL(valueChanged(int)),slider,SLOT(setValue(int)));
connect(slider,SIGNAL(valueChanged(int)),spinbox,SLOT(setValue(int)));
//信号和槽,(发送者,信号,接收者,槽)。
第一个是spinbox发送给slider的
//第二个是slider发送给spinbox的
spinbox—〉setValue(23);
//QHBoxLayout是布局管理器,即在水平方向上排列窗口部件
QHBoxLayout*layout=newQHBoxLayout;
layout-〉addWidget(spinbox);
layout—〉addWidget(slider);
pWidget—>
setLayout(layout);
pWidget->
show();
//窗体显示
5、如何编译运行qt程序,命令是什么?
qmake-project
qmake
make
6、如何将UI界面问件转化成代码的。
h文件?
(假设ui文件名为gogogo。
ui。
)
UIC—ogogogo。
hgogogo.ui
7、请填写空格处的语句,实现声明自己的槽MyWinExit和信号OnExit.
classMyWindow:
publicQwidget
{
Q_OBJECT
public:
MyWindow(QWidget*parent=0);
signals:
OnExit();
privateslots:
MyWinExit();
8、假设我们建立了一个widget的图形用户界面,如图所示:
那么我们main文件应该怎么写,假设ui的名字为gotocelldialog.ui
#include〈QApplication>
#include〈QDialog>
#include"
ui_gotocelldialog。
h"
intmain(intargc,char*argv[])
QApplicationapp(argc,argv);
Ui:
GotoCellDialogui;
QDialog*dialog=newQDialog;
ui。
setupUi(dialog);
dialog->
show();
9、假设文件浏览器的界面定义如下:
/********************************************************************************
**Formgeneratedfromreadinguifile'
dir。
ui’
**
**Created:
FriDec1011:
46:
182010
**by:
QtUserInterfaceCompilerversion4。
5。
**
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- QT 理论 试题 答案