1 什么是Qt Framework?如何下载和安装Qt库及其开发工具?
QT Framework是cpp的标准库一个总的更换。
从Qt的官方网站http://qt.nokia.com/downloads-cn下载Qt SDK 中包括最新完整的Qt 4.6.3 库,Qt Creator 2.0 以及Qt Designer 等开发工具。
下载后双击qt-sdk-win-opensource-2010.04.exe 进行安装,安装过程中可以自定义安装路径,但路径中不能有中文字符!建议直接使用默认的安装路径即可。安装老外的软件,一个基本原则就是,不要使用路径中含有‘A’-‘Z’, ‘a’-‘z’, ‘0’-‘9’, '.', '-', '_' 以外字符的路径名称,这样可以避免很多莫名其妙不可理喻的问题;安装完成后,会在桌面上创建Qt Creator到快捷方式,双击该快捷方式就可以进入到Qt到可视化开发环境下。 通常在Qt Creator IDE中,不需要进行额外的配置即可正常编写、编译、调试、运行程序,但需要注意:如果系统里安装了VC 等开发工具,这些工具可能会在系统的环境变量中添加 Include 和 Libs 等变量以方便在命令行下用nmake之类的工具编译、生成程序,但这些设置与 Qt Creator IDE 是有冲突的。如果不需要进行命令行的操作,可以将Include和Libs 删除,这样 Qt Creator IDE 环境下编译 Qt 程序的时候就会使用刚刚安装的Qt SDK 中的头文件和库。
2 什么是QtCreator?它有什么作用?生成含有主界面简单工程的主要方法有哪些?
1) Qt Creator是跨平台的Qt IDE,Qt Creator是Qt被Nokia收购后推出的一款新的轻量级
集成开发环境(IDE)。此 IDE 能够跨平台运行,它的界面简洁大方、操作便捷顺畅,支持的系统包括Linux(32 位及 位)、Mac OS X 以及 Windows。
2) Qt Creator 的设计目标是使开发人员能够利用 Qt 这个应用程序框架更加快速及轻易
的完成开发任务.Qt Creator 包括项目生成向导、高级的 C++ 代码编辑器、浏览文件及类的工具、集成了 Qt Designer、Qt Assistant、Qt Linguist、图形化的 GDB 调试前端,集成 qmake 构建工具等。
3) 生成含有主界面简单工程的主要方法有哪些
A. 使用VB直接设计自己所需的主界面,进而生成简单的工程; B. 使用Qt Creator生成含有主界面简单工程;
3 请用graphics库初始化绘图环境并绘制 ★ ☆ 形图案。 答案见附件
4 请简单介绍6-10个QtCreator中的快捷键及其作用。
1) F1使用方法:选中某一类或函数,按下F1,出现帮助文档
2) F2使用方法:选中某一类或函数,按下F2,迅速定位到该类或函数声明的地方或被调
用的地方
3) F3作用:查找下一个你选的内容 4) F4使用方法:在*.cpp和*.h之间切换 5) F5的作用:调试 6) F9的作用:切换断点
7) Ctrl+鼠标滚轮的使用方法:按住Ctrl,使鼠标滚轮旋转,可调整字体的大小 8) Ctrl+F使用方法:(作用:查找当前文档)选中你想选的内容之后,按下Ctrl+F,会列出
所有和你选的内容一样的语句
9) Ctrl+1,2,3,4,5,6使用介绍:在Welcome,Edit,Debug,Projects,Help,Output
几种模式之间切换
10) Shift + F3作用:查找上一个你选的内容 11) Ctrl + Shift + F作用:弹出查找对话框 12) Ctrl + M的作用:书签之间切换
13) Shift+F5的作用:停止调试 14) F10的作用:单步跳过 15) F11的作用:单步进入
16) Shift + F11的作用:单步跳出 17) Ctrl + Shift + F5的作用:重启调试 18) Alt + 0的作用:隐藏或显示边栏 19) Alt + 1的作用:切换至生成窗口 20) Alt + 2的作用:切换至搜索结果窗口 21) Alt + 3的作用:切换至应用输出窗口 22) Alt + 4的作用:切换至编译输出窗口
5 单击主窗口菜单,弹出自定义窗口界面。请简介QtCreator中的做法。
6 请为QtCreator中的主界面添加动作响应、添加新的信号和槽。 7 请以查询Qt库中某个类为例,介绍Qt Assistant的用法。 库 QtCore QtGui QtNetwork QtOpenGL QtSql QtSvg QtXml Qt3Support QAxContainer QAxServer QtAssistant QtDesigner QtUiTools QtTest 描述 核心非GUI功能 核心GUI功能 网络模块 OpenGL模块 SQL模块 SVG透视图类 XML模块 支持Qt3的类 ActiveQt客户端的扩充 ActiveQt服务器段的扩充 Qt助手的语言类 Qt设计器的扩展类 生成动态GUI类 单元测试工具类 8 请以自己的主界面为例,介绍Qt Linguist在自己应用程序国际化过程中的应用。 QT国际化步骤: 1) 编写源代码 2) 在pro中添加TRANSLATIONS+*.ts,有多少中语言就添加多少个ts文件。 3) 运行lupdate *.pro 生成ts文件。lupdate会根据源代码中的内容提取出待翻译的字段,然后生成ts文件,ts文件是xml格式的。 4) 用qt linguist打开ts文件,并翻译相应字段。 5) 运行lrelease *.pro生成qm文件。lrelease会根据ts文件生成二进制的qm翻译文件。 6) 使用QTranslator 加载qm文件。 7) 为QApplication安装translator。 9 Qt开发工具uic、rcc、moc和qmake有何作用? (1)uic 的全称是User Interface Compiler for the Qt GUI toolkit,顾名思义,它就是.ui 文件编译器,也是Qt 提供的工具之一。它的主要功用可以用一句话来概括,就是读取由Qt Designer 制作的用户界面文件(即.ui 文件),并生成相对应的C++头文件。该头文件的形式
是Ui_YourFormName.h。
(2)rcc是Qt自带的一个工具。这是Qt的一个资源编译器,其编译对象是qrc文件,而生成rcc二进制资源文件。
(3)moc是QT的预编译器,用来处理代码中的slot,signal,emit,Q_OBJECT等。moc文件是对应的处理代码,也就是Q_OBJECT宏的实现部分,与其文件在同一目录下。
(4)qmake是一个协助简化跨平台进行专案开发的构建过程的工具程式,Qt附带的工具之一 。qmake能够自动生成Makefile、Microsoft Visual Studio 专案文件 和 xcode 专案文件。不管源代码是否是用Qt写的,都能使用qmake,因此qmake能用于很多软件的构建过程。 10 试用QDesigner设计一个记事本程序的主界面和计算器的主界面。 11 C语言#include 14 什么是数据结构?什么是栈、堆、二叉树?请举例说明。 1) 数据结构是指同一数据元素类中各数据元素之间存在的关系。 2) 栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照后 进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。 3) 堆:n个元素的序列{k1,k2,ki,„,kn}当且仅当满足下关系时,称之为堆。\" ki<=k2i,ki<=k2i+1; 或ki>=k2i,ki>=k2i+1.(i=1,2,„,[n/2])\"。若将和此次序列对应的一维数组(即以一维数组作此序列的存储结构)看成是一个完全二叉树,则堆的含义表明,完全二叉树中所有非终端结点的值均不大于(或不小于)其左、右孩子结点的值。 4) 二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作二叉查找树和二叉堆或是二叉排序树。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树不是树的特殊情形。在图论中,二叉树是一个连通的无环图,并且每一个顶点的度不大于3。 15 已知公式 B = 4T / (d L h) ,等号后各因子可分别从不同表格中查得,编写程序实现之。 16 实现一元插值函数的程序。 #include Data d[20]; float lagrange(float x,int count) { float y=0.0; for(int k=0;k { float x,y; int count,choice,i; cout<<\"请选择1.线形插值2.抛物插值:\"< d[i].y=float(sin(d[i].x)); cout<<\"第\"<>x; y=lagrange(x,2); cout< for(int i=0;i d[i].y=float(sin(d[i].x)); cout<<\"第\"<>x; y=lagrange(x,count); cout< #define N 7//N个节点 #define M 2//M次拟合 #define K 2*M void zhuyuan (int k,int n,float a[M+1][M+2]) { int t,i,j; float x,y; x=fabs(a[k][k]);t=k; for(i=k+1;i<=n;i++) if(fabs(a[i][k])>x) { x=fabs(a[i][k]);t=i; } for(j=k;j<=n+1;j++) { y=a[k][j];a[k][j]=a[t][j];a[t][j]=y; } } void xiaoyuan(int n,float a[M+1][M+2]) { int k,i,j; for(i=0;i void huidai(int n,float a[M+1][M+2],float x[M+1]) { int i,j; x[n]=a[n][n+1]/a[n][n]; for(i=n-1;i>=0;i--) { x[i]=a[i][n+1]; for(j=i+1;j<=n;j++) x[i]=x[i]-a[i][j]*x[j]; x[i]=x[i]/a[i][i]; } } main() { float x_y[N][2],A[N][K+1],B[N][M+1],AA[K+1],BB[M+1],a[M+1][M+2],m[M+1]; int i,j,n; printf(\"请输入%d个已知点:\\n\ for(i=0;i xiaoyuan(n,a); huidai(n,a,m); printf(\"拟合曲线方程为:\\ny(x)=%g\ for(i=1;i<=n;i++) { printf(\" + %g\ for(j=0;j18 简述列主元高斯消去法求解线性联立方程的程序实现过程。 过程: 1) 找主元素; 2) 主元素换到对角线的位置; 3) 消元过程; 4) 回代过程; 举例应用: #include int main() { int n,i,j,k; double a[100][100],b[100],m; cout<<\"输入未知数个数:\"< } for(i=1;i<=n;i++) for(j=i+1;j<=n;j++) if(fabs(a[j][i])>1e-7) { m=a[i][i]/a[j][i]; for(k=i;k<=n+1;k++) { a[j][k]=a[j][k]*m-a[i][k]; } } for(i=n;i>0;i--) { b[i]=a[i][n+1]/a[i][i]; for(j=i-1;j>0;j--) { a[j][n+1]=a[j][n+1]-b[i]*a[j][i]; } } cout<<\"利用该程序求解得:\"< 19线性表的存储方式有哪些?试简述其优、缺点。 顺序存储方式: 优点:可以随机访问数据元素; 缺点:大小固定,不利于增删结点; 链式存储方式: 优点:采用指针方式增减结点,非常方便只需要改变指针指向,不移动结点; 缺点:不能进行随机访问,每个结点上增加指针域,造成额外存储空间增大; 20 二维图形的变换矩阵统一表述是什么?简述其各变量所代表的含义。 abp T=cdqlms其中 abcd可以实现图形的比例、对称、错切、旋转等基本变换; lm可以实现图形的平移变换; pqT可以实现图形的透视变化; s可以实现图形的全比例变换。 21 三维图形的变换矩阵统一表述是什么?简述其各变量所代表的含义。 adT=hl其中 bcpefq ijrmnsabcdef产生比例、对称、错切、旋转等基本变化; hij33lpmn13产生平移变换; qr31产生透视变换; Ts产生全比例变换。 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务