版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、QT理论试题以下关于QT的描述正确的是:是一个不跨平台的C+图形用户界面由挪威TrollTech公司出品只支持Unix、Linuxd.QTAPI和开发工具对所支持的平台是不一致的以下关于QT的描述不正确的是:QT支持2D图形渲染QT支持3D图形渲染QT支持OpenGLQT不支持XML3下关于不正确的是:是面向嵌入式系统的Qt版本是Qt的嵌入式窗口基于Windows平台的开发工具是完整的自包含C+GUI的开发工具4内部对字符集的处理采用以下哪个标准:UNICODEASCIIGB2312ISO8859-1以下关于Qt描述不正确的是是基于面向对象的C+语言提供了signal和slot的对象通信机制有
2、可查询和可设计属性没有字符国际化6以下描述正确的是:标准的C+对象模型可有效的支持运行时参数标准的C+对象模型的静态特性十分灵活图形用户界面编程无需运行得高效图形用户界面编程无需运行得高灵活性以下不是QT增加的特性:有效的对象通信signal和slot可查询和可设计的对象事件及事件过滤器不使用指针8以下描述正确的是:元对象系统可以对信号使用模板元对象系统可以对槽使用模板Qt可在多个平台的应用程序中完全应用模板Qt不能在多个平台的应用程序中完全应用模板9.以下关于moc叙述正确的是:moc即MultObjectCompiler可产生能被任何标准C+编译访问的附加C+代码moc必须手动调用类声明中
3、有无Q_OBJECT无所谓10以下关于信号和槽的描述正确的是:用于SOCKET网络通信用于UDP网络通信用于对象间通信用于串口通信11以下关于信号/槽的叙述不正确的是:信号与槽通过connected函数任意相连信号/槽机制在QObject类中实现从QWidget类继承的所有类可以包含信号和槽当对象状态变化时信号被发送,对象不关心是否有其他对象接收到该信号12以下类声明中有几处错误?classM:publicQobjectQ_OBJECTpublic:M();intvalue()constreturnva;publicslots:voidsetValue(int);signals:voidval
4、ueChanged(int);private:intva;;5TOC o 1-5 h z43213设有如下声明voidM:setValue(intv)if(v!=va)va=v;emitvalueChanged(v);则对于如下语句Ma,b;connect(&a,SIGNAL(valueChanged(int),&b,SLOT(setValue(int);setValue(11);setValue(12);value();执行后,值为:1111b.1212c.1112d.121114以下关于槽的描述正确的是:槽具有public和protected2个类tectedslots表示只有该
5、类的子类的信号才能连接c.槽是普通成员函数不能有privateslots15以下关于元对象系统不正确的是元对象系统只是用于处理对象间通信的信号/槽机制元对象系统可处理运行时的类型信息和动态属性系统c.元对象系统基于Qobject类d.bc都对16不是元对象代码实现的特征的是:a.提供信号/槽机制b.Class.forName()在运行的时候返回类名称c.tr()用于国际化中的字符串翻译d.metaObject()返回该类所关联的元对象17.以下关于Q_OBJECT叙述不正确的是:类定一种声明了Q_OBJECT后,该类才能使用元对象系统相关的特性Q_OBJECT对所有类都无关紧要QObject的
6、子类中未实现信号和槽也可使用Q_OBJECTQObject的子类中未实现属性也可使用Q_OBJECT18以下关于元对象编译器的叙述不正确的是:元对象编译器不展开#define,但可展开#include元对象编译器不展开#include忽略遇到的所有预处理程序无法处理所有C+语法19有如下语句classYourClass:publicQobjectQ_OBJECTpublicslots:voidapply(void(*apply)(List*,void*),char*);以下正确的是完全正确可以没有Q_OBJECTslots关键字有误函数指针不能作为信号和槽的参数20如下叙述不正确的是:不能把继
7、承的成员函数升级为共有状态宏不能用在信号和槽的参数中嵌套类不能放在信号部分嵌套类可以放在槽部分21有如下声明:classAbc:publicQobjectQ_OBJECTpublic:WRITEQ_PROPERTY(PrioritypriorityREADprioritysetPriority)Q_ENUMS(Priority)enumPriorityHigh,Low,VeryHigh,VeryLow;voidsetPriority(Priority);Prioritypriority()const;关于属性声明的位置以下正确的是:原位置正确原位置不正确,应为原位置不正确,应为22以下关于属性
8、的叙述不正确的是:基于元对象系统在类声明中用宏声明属性不是一个类的成员属性只能在继承于QObject的子类中声明23.以下关于QObject类叙述不正确的是:是所有Qt对象的基类QObject对象树是一个静态的QObjectList类对象object_treesobject_trees链表中存有部分对象指针通过object_trees链表可查询到所有的对象24以下是事件处理方法的是:重载QApplication:notify()重载QObject:event()重载Qt基类事件处理函数以上全是25以下关于定时器的叙述不正确的是:多数平台支持2ms精度的定时器使用定时器,可以用QTimer类使用
9、定时器,可以用QObject类的定时器定时器精度依赖于操作系统和硬件26.以下关于QObject类定时器的叙述正确的是:当处理器正忙于其它事件的处理时,定时器仍可以立即触发当定时器触发时,应用程序会发送QtimerEventc.用startTimer()开始一个定时器,如果成功则返回0d.用startTimer()开始一个定时器,如果失败则返回-127以下是QObject提供的字符串翻译函数的选项是:translateit(),trUtf8()translation()tr(),trUtf_8()tr(),trUtf8()28以下关于元对象的叙述不正确的是:a.每个在类声明中含有Q_OBJEC
10、T宏的类都有一个对应的元对象b.每个在类声明中含有Q_OBJECT宏的类都有一个对应的QMetaObject类对象元对象是动态的d.一个类可能含有多个元对象与之对应29窗口部件的父类包括:QWidgetQFrameQScrollViewd.以上全是以下关于QWidget类、QFrame类和QScrollView类的关系叙述正确的是:三个类是兄弟关系三个类是继承关系:QWidget为祖父,QFrame为父,QScrollView为子三个类是继承关系:QFrame为祖父,QWidget为父,QScrollView为子三个类是继承关系:QFrame为祖父,QWidget与QScrollView互为兄
11、弟以下关于Qt风格叙述正确的是:Qt的风格类的基类是QStyle类QStyle的多数成员函数即有声明也有实现其实现只能在QCommonStyle类中通过重载来完成其实现只能在QWindowStyle类中通过重载来完成关于布局功能的叙述,以下正确的是:在布局空间中布置子窗口部件设置子窗口部件间的空隙管理在布局空间中布置子窗口部件以上都对以下关于QLayout的描述不正确的是:是的布局系统抽象基类其中,属性intmargin代表布局的外边框的宽度其中,属性intspacing代表布局内的窗口部件的大小其中,属性ResizeModeresizeMode代表布局的扩展方式布局窗口部件包括:QHBoxQ
12、VBoxQGridd.以上全有35以下叙述不正确的是:QHBox允许子窗口部件按水平、垂直和网格排列QVBox允许子窗口部件按水平、垂直和网格排列QGrid允许子窗口部件按水平、垂直和网格排列d.以上全不对36以下各项中,是QLayout子类的是:QGridLayoutQHBoxLayoutQVBoxLayoutb和c37如果对默认放置位置不满意,则须采取相应的措施,以下哪项不是创建没有父布局的布局对象调用addLayout()把这个布局插入到其他布局中c.没有办法a和b38以下关于集合类描述不正确的是:它是装有多个条目的容器每个条目是某种数据结构集合类可对容器中的条目做插入操作集合类不能对容
13、器中的条目做删除操作39以下各项中属于基于值的集合类是:QCacheQMapQPtrListQDict40以下各项中属于基于指针的集合类的是:QIntCacheQValueStakQValueVectorQValueList41以下各项中既不基于指针也不基于值的是:QIntDictQPtrListQPtrStackQMemArray42所有基于指针的集合继承了如下哪个类?QGCacheQGVectorQPtrCollectionQGList43当插入一个条目到一个集合时,如下不正确的是:仅拷贝指针而不拷贝条目本身的,称“浅拷贝”不允许只拷贝指针而不拷贝条目本身拷贝所有条目的数组到集合中是可能的
14、选项C又称“深拷贝”以下各项中不是与Qt线程相关的类的是:QMutexQSemaphoreQThread以上都不是以下关于Qt线程叙述正确的是:Qt中提供了Thread线程类Qt中提供了QThread线程类通过重载Thread:run()函数定义线程的执行内容通过重载QThread:_run()函数定义线程的执行内容46有如下关于线程的代码:classYour_Class:publicQThreadpublic:virtualvoidrun();voidYour_Class:run()YourClass:run();for(inti=0;i100;i+);intmain()Your_Class
15、a;a.run();return0;其中有几处错误:a.1b.23447以下关于线程编程时的注意事项中不正确的是:在持有Qt库互斥量时必须执行阻塞操作在调用除了Qt容器和工具类外的任何内容之前,锁定Qt应用程序互斥量只在GUI线程中使用QNetwork类不要在应用程序中把普通Qt库与支持线程的Qt库混用48以下不属于拖放机制的是:a.拖动剪贴板放下以上都不是49以下关于拖动的叙述错误的是:在拖动之后,QDragObject被立即删除拖放明显完成后,这个QDragObject要被保存QDragObject可能要与其他进程通信QDragObject对象最后由Qt删除50在一些简单情况下,拖放的目标
16、接收一个被拖动数据的拷贝,并且由源决定是否删除初始的拖动对象,这是QDropEvent中的什么操作?CopyMoveLink以上都不是51Qt/Embedded的开发公司是:MicrosoftSunOracleTrolltech52以下各项中关于焦点定位的习惯方式叙述错误的是:用户按Tab键用户按Enter键b选项不是用户使用鼠标滚轮53以下关于Qt/Embedded叙述不正确的是:是C/S结构类库完全采用C语言采用framebuffer作为底层图形接口将外部输入设备抽象为keyboard和mouse输入事件54以下关于字体的叙述正确的是:Qt/Embedded用QFontManager管理字
17、体,与字体相关的类在服务器端运行Qt/Embedded用QFontManager管理字体,与字体相关的类在客户端运行Qt/Embedded用FontManager管理字体,与字体相关的类在服务器端运行Qt/Embedded用FontManager管理字体,与字体相关的类在客户端运行55以下各项中与显示无关的类是:QScreenQLockQWSManagerQDiskFont56以下不是Qt支持的图像格式是:JPGPNGBMPXPM57以下叙述正确的是:a.Qt支持GIF格式图像,且可以存储它们Qt支持GIF格式图像,但不可以存储它们Qt不支持GIF格式图像,但可以存储它们Qt不支持GIF格式图
18、像,且不可以存储它们用QPainter的转换函数对图像做转换后,若要恢复图像的原样,则以下正确的是:无法实现可以实现,用QPainter:resetForm()只能恢复最近一次的转换可以实现,用QPainter:resetForm()可以撤销所有的转换操作用QPixmap对象打开GIF动画,以下叙述正确的是:可以看到动画看不到任何画面只能看到动画的第一帧只能看到动画的最后一帧以下关于Qt/Embedded客户端与服务器的描述不正确的是:客户端可以有多个服务器可以有多个客户端只有一个服务器只有一个简答题1、什么是qt,有什么优点?答:Qt是诺基亚开发的一个跨平台的C+图形用户界面应用程序框架。它
19、提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。是一个跨平台的C+图形用户界面库。Qt具有非常强的跨平台和移植性强的特点。同时支持linux、windows、嵌入式的用户界面开发。2、使用Qt编码实现Lable显示“helloworld的功能。#include#include#include/#includeintmain(intargc,char*argv)QApplicationapp(argc,argv);/QTextCodec:setCodecForTr(QTextCodec:codecForName(gbl8030
20、);QWidget*pWidget二newQWidget;QLabellabel(pWidget);label.setText(helloworld);pWidget-show();returnapp.exec();3、编写代码实现调用槽函数退出的quit程序,界面如下:#include#include#includeintmain(intargc,char*argv)QApplicationapp(argc,argv);QWidget*pWidget二newQWidget;QPushButton*button二newQPushButton(Quit,pWidget);QObject:conn
21、ect(button,SIGNAL(clicked(),pWidget,SLOT(close();pWidget-show();returnapp.exec();4、编程头现spinbox和sHderGslidergt:Horizontal)之间的父互,界面如下,两种期间的范围全部是0T30。Title为“enteryourage”#include#include#include#include#includeintmain(intargc,char*argv)QApplicationapp(argc,argv);/创建app的构造函数QWidget*pWidget二newQWidget;/n
22、ew个WidgetpWidget-setWindowTitle(enteryourage);/设置captionQSpinBox*spinbox=newQSpinBox;/new一个spinboxQSlider*slider=newQSlider(Qt:Horizontal);/new一个sliderspinbox-setRange(0,130);/设置范围,-符号slider-setRange(0,130);QObject:connect(spinbox,SIGNAL(valueChanged(int),slider,SLOT(setValue(int);QObject:connect(sl
23、ider,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();
24、/窗体显示returnapp.exec();5、如何编译运行qt程序,命令是什么?qmake-projectqmakemake6、如何将UI界面问件转化成代码的.h文件?(假设ui文件名为gogogo.ui。)UIC-ogogogo.hgogogo.ui7、请填写空格处的语句,实现声明自己的槽MyWinExit和信号OnExit。classMyWindow:publicQwidgetQ_OBJECTpublic:MyWindow(QWidget*parent=0);signals:OnExit();privateslots:MyWinExit();8、假设我们建立了一个widget的图形用户界
25、面,如图所示:那么我们main文件应该怎么写,假设ui的名字为gotocelldialog.ui#include#include#includeui_gotocelldialog.hintmain(intargc,char*argv)QApplicationapp(argc,argv);Ui:GotoCellDialogui;QDialog*dialog=newQDialog;uisetupUi(dialog);dialog-show();returnapp.exec();9、假设文件浏览器的界面定义如下:/*Formgeneratedfromreadinguifiledir.ui*Creat
26、ed:FriDec1011:46:182010*by:QtUserInterfaceCompilerversion4.5.0*WARNING!Allchangesmadeinthisfilewillbelostwhenrecompilinguifile!*/#ifndefUI_DIR_H#defineUI_DIR_H#include#include#include#include#include#include#include#include#include#include#include#includeQT_BEGIN_NAMESPACEclassUi_Dialogpublic:QVBoxL
27、ayout*verticalLayout;QComboBox*comboBox;QSplitter*splitter_2;QSplitter*splitter;QTreeView*treeView;QListView*listView;QTableView*tableView;voidsetupUi(QDialog*Dialog)if(Dialog-objectName().isEmpty()Dialog-setObjectName(QString:fromUtf8(Dialog);Dialog-resize(901,372);verticalLayout=newQVBoxLayout(Dia
28、log);verticalLayout-setObjectName(QString:fromUtf8(verticalLayout);comboBox=newQComboBox(Dialog);comboBox-setObjectName(QString:fromUtf8(comboBox);comboBox-setMaximumSize(QSize(85,16777215);verticalLayout-addWidget(comboBox);splitter_2=newQSplitter(Dialog);splitter_2-setObjectName(QString:fromUtf8(s
29、plitter_2);splitter_2-setOrientation(Qt:Horizontal);splitter=newQSplitter(splitter_2);splitter-setObjectName(QString:fromUtf8(splitter);splitter-setOrientation(Qt:Horizontal);treeView=newQTreeView(splitter);treeView-setObjectName(QString:fromUtf8(treeView);splitter-addWidget(treeView);listView=newQL
30、istView(splitter);listView-setObjectName(QString:fromUtf8(listView);splitter-addWidget(listView);splitter_2-addWidget(splitter);tableView=newQTableView(splitter_2);tableView-setObjectName(QString:fromUtf8(tableView);splitter_2-addWidget(tableView);verticalLayout-addWidget(splitter_2);retranslateUi(D
31、ialog);QMetaObject:connectSlotsByName(Dialog);/setupUivoidretranslateUi(QDialog*Dialog)Dialog-setWindowTitle(QApplication:translate(Dialog,Dialog,0,QApplication:UnicodeUTF8);comboBox-clear();comboBox-insertItems(0,QStringList()QApplication:translate(Dialog,345210227350241250350247206345233276,0,QApp
32、lication:UnicodeUTF8)QApplication:translate(Dialog,347264247345207221350247206345233276,0,QApplication:UnicodeUTF8);Q_UNUSED(Dialog);/retranslateUi;namespaceUiclassdir:publicUi_Dialog;/namespaceUiQT_END_NAMESPACE#endif/UI_DIR_H请使用Qdir实现treeview,listview,tableview项目答:dir.h#ifndefDIR_H#defineDIR_H#inc
33、lude#includeui_dir.hclassDir:publicQDialog,publicUi:dirQ_OBJECTpublic:Dir(QWidget*parent=0);publicslots:voidchooseMode(int);#endifdir.cpp#include#includedir.hDir:Dir(QWidget*parent):QDialog(parent)setupUi(this);QDirModel*dirModel;QStringListfilter;dirModel=newQDirModel(filter,QDir:Dirs|QDir:NoDotAndDotDot,QDir:DirsFirst|QDir:Name|QDir:Type);treeView-setModel(dirModel);treeView-hideColumn(1);treeView-hideColumn(2);treeView-hideColumn(3);tableView-setModel(dirModel);listView-setModel(dirModel);/tableView-hide();comboBox=newQComboBox();comboBox-addItem(tr(以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 双十二数码之路
- 农业电商春节之道
- 2024年跨境电商物流解决方案合作合同
- 2024年版企业债务偿还抵扣协议版B版
- 大巴用车合同(2篇)
- 2025年度餐厨废弃物无害化处理与综合利用合同3篇
- 2024年高压开关设备安装协议
- 专业化眼科义齿2024年加工服务协议模板版B版
- 2025年父母房产处置与子女就业支持协议3篇
- 2024某高校与某企业之间关于产学研合作之合作协议
- DZ∕T 0153-2014 物化探工程测量规范(正式版)
- 商业空间设计(高职环境艺术设计专业和室内设计专业)全套教学课件
- 广东省广州市名校联盟重点名校2024届中考化学全真模拟试卷含解析
- 大学校园交通安全现状调查分析
- 环保安全部年度安全环保工作总结模板
- RTO工艺流程简介
- 语文新课标背景下单元整体教学:六下第4单元大单元设计
- 旅游业务年度回顾与展望
- 医院智慧医疗及康养平台系统采购项目招投标书范本
- 驾照体检表完整版本
- 品质部规划方案
评论
0/150
提交评论