文档库 最新最全的文档下载
当前位置:文档库 › QT试题b

QT试题b

QT试题b
QT试题b

一、选择题(每题2分,共15题,30分)

1.以下关于QT的描述正确的是:

a.是一个不跨平台的C++图形用户界面

b.由挪威TrollTech公司出品

c.只支持Unix、Linux

d.QT API和开发工具对所支持的平台是不一致的

2.内部对字符集的处理采用以下哪个标准:

a.UNICODE

b.ASCII

c.GB2312

d.ISO 8859-1

3.以下描述正确的是:

a.标准的C++对象模型可有效的支持运行时参数

b.标准的C++对象模型的静态特性十分灵活

c.图形用户界面编程无需运行得高效

d.图形用户界面编程无需运行得高灵活性

4.以下不是QT增加的特性:

a.有效的对象通信signal和slot

b.可查询和可设计的对象

c.事件及事件过滤器

d.不使用指针

5.以下描述正确的是:

a.元对象系统可以对信号使用模板

b.元对象系统可以对槽使用模板

c.Qt可在多个平台的应用程序中完全应用模板

d.Qt不能在多个平台的应用程序中完全应用模板

6.以下关于moc叙述正确的是:

a.moc即Mult Object Compiler

b.可产生能被任何标准C++编译访问的附加C++代码

c.moc必须手动调用

d.类声明中有无Q_OBJECT无所谓

7.以下关于信号/槽的叙述不正确的是:

a.信号与槽通过connected函数任意相连

b.信号/槽机制在QObject类中实现

c.从QWidget类继承的所有类可以包含信号和槽

d.当对象状态变化时信号被发送,对象不关心是否有其他对象接收到该信号8.设有如下声明

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

9.不是元对象代码实现的特征的是:

a.提供信号/槽机制

b.Class.forName ( )在运行的时候返回类名称

c.tr ( )用于国际化中的字符串翻译

d.metaObject ( )返回该类所关联的元对象

10.以下关于Q_OBJECT叙述不正确的是:

a.类定一种声明了Q_OBJECT后,该类才能使用元对象系统相关的特性

b.Q_OBJECT对所有类都无关紧要

c.QObject的子类中未实现信号和槽也可使用Q_OBJECT

d.QObject的子类中未实现属性也可使用Q_OBJECT

11.以下关于元对象编译器的叙述不正确的是:

a.元对象编译器不展开#define ,但可展开#include

b.元对象编译器不展开#include

c.忽略遇到的所有预处理程序

d.无法处理所有C++语法

a.19.

12.如下叙述不正确的是:

a.不能把继承的成员函数升级为共有状态

b.宏不能用在信号和槽的参数中

c.嵌套类不能放在信号部分

d.嵌套类可以放在槽部分

13.以下关于属性的叙述不正确的是:

a.基于元对象系统

b.在类声明中用宏声明

c.属性不是一个类的成员

d.属性只能在继承于QObject的子类中声明

14.以下是事件处理方法的是:

a.重载QApplication : : notify ( )

b.重载QObject : : event ( )

c.重载Qt基类事件处理函数

d.以上全是

15.以下关于QWidget类、QFrame类和QScrollView类的关系叙述正确的是:

a.三个类是兄弟关系

b.三个类是继承关系:QWidget为祖父,QFrame为父,QScrollView为子

c.三个类是继承关系:QFrame为祖父,QWidget为父,QScrollView为子

b.三个类是继承关系:QFrame为祖父,QWidget与QScrollView互为兄弟

二、填空题(每空1分,共20个空,20分)

1.创建一个窗体对象后,要想显示该窗体,需要调用对象的___show_______方法,要想隐藏该窗体需要调用对象

的____hide ______方法。 2.

Qt 标准输入对话框提供了4种数据类型的输入,它们是:____字符串______、______int 类型的数据_____、____double 类型的数据_______、__下拉列表框的条目______。 3.

Qt 的Graphics View 框架结构主要包含了三个主要的类,分别是:____QGraphicsScene_______、___QGraphicsView_______、____QGraphicsItem________。 4.

使QTimer 对象开始计时的方法是___start ()__________。 5.

设置QLabel 对象显示文本内容的方法是___show ()________。 6.

MVC 模式中的M 代表___Model_______,V 代表__View________,C 代表___Controller ______。 7.

Qt 中的常用标准对话框有____FileDialog___________、__ColorDialog__________、___FontDialog_________。 8.

Qt 中常用的布局管理器有___QHBoxLayout_______、__QVBoxLayout_________和_QGridLayout_________等。 9.

Qt 的文本域控件是哪个类____QText_Edit_____。

三、判断题(每空2分,共10题,20分)

1、 在使用控件时需要处理的是信号,在实现一个控件时需要处理事件(∨)

2、 函数sizeHint()返回的是控件在不同文本时完整显示所需的尺寸(∨)。

3、 调用startTimer(30)以后,Qt 大约每30毫秒产生一个事件(∨)。

4、 布局管理器派生自QObject 。(∨)

5、 QT 窗口部件可以作为拖动点也可以作为放下点(∨)。

6、 Q_OBJECT 是一个宏定义,如果类里面用到了signal 或者slots ,就必须要声明这个宏。(∨)

7、 FindDialog(QWidget *parent = 0);父参数为NULL ,说明没有父控件。(∨)

8、 槽可以是虚函数,可以是公有的,保护的,也可是私有的。(∨)

9、 show()显示的对话框是无模式对话框。用exec()显示的对话框是模式对话框。(∨)

10、当用户在窗口部件上放下一个对象时,就会调用dropEvent()(∨)。

四、简答题(每空6分,共5题,30分)

1.

Qt 中有哪些方式对窗体上的控件进行布局管理。 . 绝对位置定位(absolute positioning ),手工布局(manual layout ),布局管理器(layout managers )。 2.

QT 有哪些特点。 轻型,占用资源少,高性能,高可靠性,便于移植,可配置

3. 利用Qt Designer 设计一个对话框主要包括哪些步骤。 答:创建窗体并在窗体中放置各种控件

对窗体进行布局管理

设置各空间的标签顺序

创建信号和槽

连接信号和槽

4. 列举出信号和插槽有哪几种用法?

一个信号可以连接多个槽:connect (slider ,SIGNAL(valuechanged (int )),spinBox,SLOT(setValue(int)))connect (slider ,SIGNAL(valuechanged (int )),this,SLOT(updateStatusBarIndicator(int)))

多个信号连接同一个槽connect (lcd ,SIGNAL(overflow (int )),this,SLOT(handlMathError(int)))connect (calculator ,SIGNAL(divisionByZero (int )),this,SLOT(handlMathError (int)))

一个信号可以与另外一个信号相连接connect (lineEdit ,SIGNAL(textchanged (const QString &)),this,SLOT(updateRecord(const QString &)))

连接可以被移除disconnect (lcd ,SIGNAL(overflow (int )),this,SLOT(handlMathError(int)))

5. 实现一个事件过滤包括两个步骤:

1. 在目标对象上调用installEventFilter(),注册监视对象。

2. 在监视对象的eventFilter()函数中处理目标对象的事件。

-

--------------

liu改udhcpc配置+根文件系统制作

基于ubuntu12.06 Mini2440 256M 试验通过2013年4月8日星期一 1、获得simple.script #解压busybox tar jxvf busybox-1.5.0.tar.ba2 mv busybox-1.5.0 busybox cd busybox #添加交叉工具链 export PATH=/usr/local/arm/3.3.2/bin:$PATH make defconfig make menuconfig #配置时,我们基于默认配置,再配置它为静态编译,安装时不要/usr路径,把Miscellaneous Utilities #下的“taskset”选项去掉,不然会出错。 #如下: Busybox setting ->builds options ->[*] build busybox as a static binary ->installitation options ->[*] don’t use /usr Miscellaneous Utilities ―> [ ] taskset 保存退出。 #编译安装 make ARCH=arm CROSS_COMPILE=arm-linux- CONFIG_PREFIX=/root/build_rootfs/rootfs all install ARCH指定平台 CROSS_COMPILE指定交叉编译 CONFIG_PRRFIX指定安装的路径 或者直接修改Makefile文件 生成的udhcpc是一个链接在上面的安装目录/all/sbin 下 此时把busybox考到根文件系统的/bin下和把udhcpc拷到根文件系统的/sbin(其实原有的根文件系统里可能已经包含了udhcpc{这样该不该都行,或许吧})开机运行/sbin 下的udhcpc就可以自动获得IP。 关键点要把busybox目录下的examples/udhcp/simple.script 脚本文件做为default.script拷贝到根文件系统的/usr/share/udhcpc/default.script。没有则自己创建。

qt课程设计实验报告

程序设计课程设计实验报告 (qt实验报告) 信息科学与技术学院 软件三班 高文博 201005070309 2011年5月

实验1:计算当初存入本金的钱数。(12题) 1.实验目的、要求 目的: 1)熟悉qt中的常用属性; 2)熟悉vbox hbox模型及怎样根据需求设计控件,边框等; 3)熟悉各个槽函数的使用,准确的将c++语言转换成qt语言,将控件功 能与函数结合起来。 要求: 1)掌握对控件的文本色,背景色等常用属性的设置。 2)掌握对控件、边框尺寸与结构的设置 3)掌握对函数的设置 2.实验设备 笔记本电脑,已安装Qt 开发环境。 3.实验内容、步骤 ●先在vc++上进行编译。 ●应用qt3.38进行编译,运行。 实验步骤: 1)根据题目需求在草纸上画出结构图; 2)根据草图用代码设计整体框架和控件; 3)在qt上运行; 4)运行成功后根据功能添加函数; 5)在头文件中添加头文件。 6)将添加的功能函数与功能控件相连; 7)分别对每个函数进行测试; 8)将整个程序在qt运行调试; 9)运行通过后给每个函数写注释; 实验代码如下所示 A (1)主框架结构代码 #include"gwbsave.h"

GwbSave::GwbSave(QWidget*parent,const char*name):QWidget(parent,name) { //?? vBox=new QVBoxLayout(this); vBox->setMargin(5); vBox->setSpacing(5); label=new QLabel("Please input the lilv:",this,"label"); vBox->addWidget(label); //?? hBox=new QHBoxLayout(this); hBox->setMargin(5); hBox->setSpacing(5); vBox->addLayout(hBox); le1=new QLineEdit(this,"le1"); hBox->addWidget(le1); //?,?? hBox2=new QHBoxLayout(this); hBox2->setMargin(5); hBox2->setSpacing(5); vBox->addLayout(hBox2); leResult=new QLineEdit(this,"leResult"); leResult->setReadOnly(true); leResult->setPaletteBackgroundColor(Qt::gray); hBox->addWidget(leResult);

基于QT4_Linux多媒体播放器系统的设计与实现

第26卷第1期贵州大学学报(自然科学版) V o.l 26N o .1 2009年 2月Journa l o f G uizhou U n i ve rsity (N atura l Sc i ences)F eb .2009 文章编号 1000-5269(2009)01-0060-05 基于QT4&L inux 多媒体播放器系统的设计与实现 王 震,林小川,周运练,欧阳天立 (北京理工大学珠海学院计算机科学技术学院,珠海519085) 摘 要:采用AR M 架构的嵌入式CP U,完成了多媒体浏览器的设计与实现。首先在I ntel Xsca le PXA 270上搭建一个完整的嵌入式L i n ux 操作系统平台,包括boo tl o ader 、内核以及文件系统的裁减与移植,并且开发了相关的驱动程序,如蓝牙驱动、触摸屏驱动、矩阵键盘驱动、SD /M M C 卡的驱动以及LCD 显示屏的驱动等,用于完成系统基本的输入输出功能;然后在系统上移植了QT4用于设计应用程序和友好的GU I 界面,并在此基础上开发/移植了图象浏览、视频播放、日历时间、文本浏览等功能软件;最后设计了友好的GU I 界面,将这些软件有机的组织在一起,形成了完整的多媒体浏览器系统。 关键词:ARM;QT;多媒体浏览器;数码相框中图分类号:TP311.52 文献标识码:B 随着科技的不断发展,科技早已渗入到人们日常的生活当中,科技不仅带给人们不同程度的便利,同时也带给商家广阔的开发前景。 智能化 已经成为各种商品的发展趋势,而 智能家居 概念的出现更是一种科技发展对生活改变的一种体现。 数码相框 作为 智能家居 的一个重要组成部分,不但拥有多元化的功能,更具有把百姓生活带入 智能化 的重要意义。但是现有 数码相框 产品缺少网络通讯与智能控制功能,这样使得数码相框没有正真融入到智能家居之中。各种信号在智能家居之间的传输,和数据之间的共享变得不方便,因此,在 数码相框 的基础上, 多媒体浏览器 这个新的开发概念由此产生。 1 功能设计 多媒体浏览器系统的系统框图如图1所示 : 图1 系统框图 系统的最底层是系统层,包括各种接口部件的 驱动程序,这些驱动程序通过嵌入式L i n ux 操作系统进行调用,然后完成相应的功能,为上层的接口层和应用层提供服务。 中间的嵌入式GU I 为接口层,采用QT4作为用户GU I 的界面库。QT4是基于服务器-客户端 的一种用户界面设计中间件[1] ,提供了丰富的功能控件和精美的界面设计功能,可以便捷的设计出赏心悦目的需要功能模块。 系统的最上层就是直接面向用户的应用层。该层采用QT4设计,向用户提供了精美的用户界面,用户可以通过触摸屏方便的调用相关的功能。该层主要包含以下几种功能模块: 图片浏览功能模块:对预设目录中的图片进行解码绘图,可以单张全屏/最小查看并可对图片进行放大、缩小、翻转灯操作,同时也可以对多张幻灯播放显示。 电子书功能模块:可以显示txt 格式的文本信息,用户可以运行该功能阅读电子书籍。 多媒体功能模块:调用m player 播放器对系统内存或者U SB 接口中的外存定位对应的媒体文件,并将其解码进行播放;视频文件可以全屏播放/最小播放,音频文件可以前台播放/背景播放。 日历时钟功能模块:可以显示时间/日期,并具有记事本功能。 网页浏览功能模块:可以从将网络上下载的超文本信息,通过该功能模块的解码后正确的显示 *收稿日期:2009-02-09 作者简介:王 震(1980-),男,河南泌阳人,助教,研究方向:嵌入式系统设计与应用

基于LinuxQT图形图像课程设计

郑州科技学院QT课程设计 题目制作画图工具学生姓名 专业班级 学号 所在系 指导教师 完成时间年月日

目录 1概述 (1) 1.1项目名称 (1) 1.2 画图工具基本框架 (1) 1.3 画图工具功能介绍 (2) 1.3.1菜单 (2) 1.3.2线型选择 (3) 1.3.3画笔宽度 (3) 1.3.4画笔颜色 (3) 1.3.5清空画板 (3) 1.3.6绘制图形 (3) 1.3.7橡皮擦 (3) 1.3.8坐标定位 (3) 1.4 制作画图工具使用的编程语言 (4) 1.5 编译环境 (4) 1.6 使用QT编程语言制作画图工具的优势 (4) 1.7 项目制作过程中应用到的QT知识 (4) 1.7.1信号与槽 (4) 1.7.2对话框 (4) 1.7.3创建主窗口 (4) 1.7.4自定义窗口部件 (4) 1.7.5布局管理 (5) 1.7.6 QT中的事件机制 (5) 1.7.7二维图形的绘制 (5)

1.8 项目中建立的类 (5) 1.9 类之间的相互关系 (5) 2 总体设计 (6) 2.1 主窗口 (6) 2.1.1创建主窗口 (6) 2.1.2添加菜单 (6) 2.1.3添加子菜单 (6) 2.1.4创建状态栏 (7) 2.2悬浮窗 (7) 2.2.1线型选项 (7) 2.2.2画笔宽度调节 (8) 2.1.3画笔颜色选择 (8) 2.2.4清空画板 (9) 2.2.5绘制图形 (9) 2.2.6橡皮擦 (9) 2.3 画板 (10) 2.3.1画布的创建 (10) 2.3.2画布的颜色初始化 (10) 2.3.3画板大小 (10) 3详细设计 (10) 3.1子菜单功能的实现 (10) 3.1.1 New功能的实现 (10) 3.1.2 Open 功能的实现 (11) 3.1.3 Save 功能的实现 (11) 3.1.4 SaveAs 功能的实现 (12)

qt根文件系统制作

Linux-2.6.31 交叉编译器版本: arm-linux-gcc 4.1.2 操作系统平台: Linux -- Red Hat 9.0 开发板平台: QT2440 使用的工具: Busybox-1.15.2 第一步: 创建根文件系统目录,主要包括以下目录: /bin,/etc,/dev,/home,/lib,/mnt,/opt,/proc,/root,/sbin,/sys,/tmp,/usr,/var. 建一个名为root 的文件夹mkdir root 在该文件夹下创建以上目录mkdir bin etc dev …………… 第二步: 获取busybox1.15.2 源码,在https://www.wendangku.net/doc/f55602115.html,/downloads/ 找到busybox-1.15.2.tar.bz2这个压缩包,下载,解压:tar xjvf busybox-1.15.2 进入源码目录,修改Makefile 第164 行,CROSS_COMPILE = arm-linux- 第190 行,ARCH = arm 执行#make menuconfig进行配置busybox 配置完后,执行#make make install 然后就会在上一级目录下生成rootfs 文件夹,里面包含几个文件夹/bin /sbin /usr linuxrc 把这些文件全部复制到刚建好的root目录下, #cp –rf * ../root 第三步: 在dev 目录下,创建两个设备节点: #mknod console c 5 1 #mknod null c 1 3 进入etc 目录,添加文件: 拷贝Busybox-1.15.2/examples/bootfloopy/etc/* 到当前目录下。 # cp –r ../../busybox-1.15.2/examples/bootfloopy/etc/* ./ 包括文件:fstab init.d inittab profile 拷贝/etc/passwd, /etc/group, /etc/shadow 到当前目录下。 # cp /etc/passwd ./ # cp /etc/group ./ # cp /etc/shadow ./ 修改inittab 文件:

如何把Qt开发的用户界面嵌入840Dsl系统中

安装Operate PP用户界面到840Dsl系统 一、相关文件 1、hmi文件 hmi文件通常是用来描述用户界面的结构以及画面间的调用关系。 2、dll文件 动态链接库dll文件是由VC项目程序编译生成,用来实现画面的结构布局以及实现相关的具体功能。dll文件仅用于840Dsl(PCU+NCU),该文件仅支持Windows系统,不支持Linux系统。 3、so文件 so文件是由VC项目程序编译生成,其作用与dll文件相同,但so文件仅用于840Dsl (TCU+NCU),该文件只支持Linux系统,不能用于Windows系统。 4、systemconfiguration.ini配置文件 该文件用于系统初始化配置信息,描述了把哪个用户界面嵌入到840D sl系统中。 5、qm文件 qm文件是用于语言切换时显示的文字与对应索引编码的对照表,通常根据需要多少语言而有多少文件。 6、png文件 在840Dsl系统中图片文件通常是采用png格式。 二、文件的制作 1、hmi与qm文件 这两个文件均需要工具进行转化生成,其中hmi文件是由项目中的xml文件转化而来,而qm文件则是由ts文件转换而来。 转化工具是slHmiConverterGui。

2、dll 文件及so 文件 这两个文件均是由VC++源程序通过编译后生成,只是dll 文件是在VC 中编译直接生成,而so 文件则需要通过Linux 编译器制作生成(如何生成so 文件请参考Build Operate PP project in Linux 文档) 3、配置文件及png 图片 配置文件在项目生成的时候就自动生成,通常不需要修改,png 图片则是直接使用。 三、文件放置目录 1、安装在840Dsl 采用TCU+NCU 文件 存放路径 2 、安装在840Dsl 采用PCU+NCU 文件 存放路径 四、查看画面 当把相关文件放到对应的目录下后,即可查看用户界面

Qt中的Makefile文件编写体会

Qt中的Makefile文件编写体会 摘要Linux编程中会用到Makefile文件来对多个文件实现联合编译以及安装、制作发布文档等,其功能强大。但是完整的Makefile文件如果完全用手工编写,复杂繁琐,基于此,本文介绍两种Makefile文件编写方法,实现基本的多文件联合编译功能。 关键词Makefile;qmake;项目文件 以C++编程为例。C编程类似。系统为RedHat Linux 7.2;桌面为KDE ;文本编辑器为kate。假定读者编写了两个文件hello.cpp, world.cpp。hello.cpp为主程序,在工作目录下建立一个新的子目录”test”,再在test下建立一个”helloworld”的子目录,这个目录将作为存放hello这个程序及其相关文件的地方: % mkdir test % cd test % mkdir helloworld % cd helloworld 将hello.cpp及world.cpp文件copy至helloworld目录下。 使用文本编辑器生成一个新文件,命名为makefile,无需加文件后缀。 新文件内容为: test: hello.o, world.o //test为我们所要生成的目标可执行文件名 g++ -o test hello.o world.o //注意该行行首并非是空格,而是制表符, //需要使用Tab键来生成。否则会报“Missing Separator”并停止 hello.o: hello.cpp g++ -Wall –c hello.cpp //该行行首是制表符 world.o: world.cpp g++ -Wall –c world.cpp //该行行首是制表符 all: test

基于QT的密码生成器设计

沈阳航空航天大学 课程设计报告 课程设计名称:嵌入式系统综合课程设计 课程设计题目:基于嵌入式Linux的密码生成器 院(系):计算机学院 专业:计算机科学与技术(嵌入式系统方向)班级: 学号: 姓名: 指导教师:周振辉 完成日期:2015年1月16日

沈阳航空航天大学课程设计报告 目录 第1章系统分析 (1) 1.1 需求分析 (1) 1.2 硬件分析 (1) 1.2.1 实验环境 (2) 1.2.2 实验具体硬件 (2) 1.3 软件分析 (3) 1.3.1 操作系统简介 (3) 1.3.2 开发技术简介 (3) 第2章系统设计 (5) 2.1 操作系统移植 (5) 2.2 系统模块设计 (5) 2.3 函数设计 (5) 2.4 关键流程 (6) 2.4.1 系统主流程 (6) 2.4.2 生成流程图 (7) 第3章系统调试及运行 (9) 3.1 调试分析 (9) 3.2 结果分析 (9) 参考文献 (11) 附录 (12)

第1章系统分析 1.1 需求分析 利用嵌入式Linux和Qt,设计出一个密码生成器软件: (1)密码包括数字,小写字母,大写字母; (2)密码必须是随机生成; (3)界面可以设置密码生成的长度以及密码的数量; (4)可以在界面上对生成的密码进行浏览; (5)利用嵌入式Linux和Qt,在ARM 9上实现。 对上面的课设内容进行分析可知以下三点: (1)必须要有两个输入控件输入密码的个数和密码的长度信息; (2)还要有一个输出控件可以输出生成的密码并在界面上显示出来; (3)对于随机生成功能,则可以借用系统的产生随机数的函数,密码当中的数字,小写字母,大写字母可以用一个字符数组把他们存放在一起,产生的随机整数作为数组的下标,把对应的数组下标内容取出来就完成了随机生成这一个功能。 1.2 硬件分析 烧写开发板及程序的步骤大体如下: (一)烧写vivi (1)把并口线插到pc机的并口,并把并口与JTAG相连,JTAG与开发板的14针JTAT口相连,打开S-2410。 (2)把整个GIVEIO目录拷贝到C:/WINDOWS下,并把该目录下的giveio.sys 文件拷贝到c:/windows/system32/drivers下。 (3)在控制面板里,选添加硬件>下一步>选-是我已经连接了此硬件>下一步>选中-添加新的硬件设备>下一步>选中安装我手动从列表选择的硬件>下一步>选择-显示所有设备>选择-从磁盘安装-浏览,指定驱动为C:\WINDOWS\GIVEIO\giveio.inf 文件,点击确定,安装好驱动。

Linux下移植步骤-qt

Fedora14移植步骤 一、交叉编译环境 1.安装arm交叉工具,解压arm-linux-gcc-4.4.3-20100728.tar.gz到根目录 tar –vxzf arm-linux-gcc-4.4.3-20100728.tar.gz -C / 2.配置arm交叉工具环境变量:使用root用户修改/etc/profile文件,添加 export PATH=/opt/FriendlyARM/toolschain/4.4.3/bin:$PATH source /etc/profile 二、U-boot编译与移植 1.解压u-boot源码:tar -vxf u-boot-2009.11.tar.bz2 2.编译u-boot :进入u-boot所在目录配置u-boot:make mini2440_config 编译u-boot:make 3.使用dnw将u-boot.bin烧写到nand flash里面 4.配置u-boot的ip地址,服务器地址,子网掩码,网关 5.配置u-boot的环境变量:setenv bootargs “noinitrd init=/linuxrc console=ttySAC0 root=/dev/nfs rw nfsroot=192.168.1.200:/opt/studyarm/rootfs ip=192.168.1.201:192.168.1.200:192.168.1.254:255.255.255.0”(具体参数值参考qt移植文档),注意,要启动,需要等到根文件系统做完。 setenv bootcmd “nand read 30008000 80000 500000;bootm 30008000” 三、配置nfs服务器和tftp服务器: nfs: 1.安装:yum install nfs* 2.配置:编辑/etc/exports,写入:/opt/studyarm/ 192.168.1.*(rw,sync,no_root_squash) 3.重启nfs服务:service nfs restart tftp: 1.关闭SELinux:打开“系统”->管理->SELinux,应用模式:disable 2.安装xinetd-2. 3.14-32.fc1 4.i686.rpm,tftp-server-0.49-6.fc14.i686.rpm(注 意,必须先安装xinetd,再安装tftp-server,双击即可安装); 3.配置tftp:修改/etc/xinetd.d/tftp文件,

Qt on Android:资源文件系统qrc与assets

Qt on Android:资源文件系统qrc与assets 使用Qt 为Android 开发应用时,有时我们的应用会携带一些资源文件,如png 、jpg 等,也可能有一些配置文件,如xml 等,这些文件放在哪里呢? 有两种方式: 1.qrc 2.assets 咱们分别来看下。 the Qt Resource System qrc ,Qt 的资源文件系统,很好用哦。看个图: 图1 qrc 示意图 你放在qrc 里的文件,如copy.png ,会被编译到exe 文件中(Android 应用是libapplication.so )。当你运行应用时,这些资源也会被加载到内存。如果你的资源很大,这是个问题。 如果是在Android 平台上,你还有另外一个选择。

Android 的 assets Android 项目目录中有一个assets 目录,该目录内放置的文件会原封不动打包到APK 中,APK 在Android 系统安装时,assets 不会被安装到应用目录下,注意,它还在APK 里哦,但是应用可以访问这个文件夹内的资源! Qt 利用了这种机制,实现了assets 虚拟文件系统,我们常见的QFile 、QPixmap 、QImage 等,都可以通过"assets:/" 的方式来访问assets 内的文件。 使用assets 虚拟文件系统,你的资源文件不会在程序启动时就加载到内存,比较节省资源。 看一个图: 图2 assets 示意图

那资源文件怎么放呢?很简单,就是放在Qt 项目目录下的android/assets 文件夹内即可。如图3: 图3 使用assets 的目录结构 只要你这么一放,Qt 编译时就会把assets 内的文件打包到APK ,然后就可以在C++ 代码内访问了。 使用 assets 的 Android 示例 参考《Qt on Android:图文详解Hello World全过程》建立一个针对Android 的项目。 创建AndroidManifest.xml ,然后在android/assets 目录下放一个beauty.jpg 。删除项目的widget.h 和widget.cpp 。修改main.cpp ,如下: [cpp]view plain copy 1.#include 2.#include 3.#include 4. 5.int main(int argc, char *argv[]) 6.{ 7. QApplication a(argc, argv); 8. QLabel label; 9. QPixmap pixmap("assets:/beauty.jpg"); 10. label.setPixmap(pixmap); 11. label.show();

linux下QT制作的电子钟-课程设计

目录 目录 第一章绪论 (1) 1.1选题依据 (1) 1.2主要研究内容 (2) 第二章需求分析 (3) 2.1L INUX下Q T编写的的电子钟特点 (3) 2.2L INUX下Q T编写的的电子钟的功能需求 (3) 2.3L INUX下Q T编写的的电子钟的性能需求 (4) 第三章系统设计 (5) 3.1L INUX下Q T编写的的电子钟模块组成 (5) 3.2时间显示模块的设计 (5) 3.3闹钟设置模块设计 (5) 3.4闹钟功能模块的设计 (6) 第四章系统实现 (7) 4.1开发环境 (7) 4.2时间显示模块的实现 (8) 4.3闹钟设置模块的实现 (8) 4.4闹钟功能模块的实现 (9) 第五章系统测试 (11) 5.1测试环境 (11) 5.2功能测试 (11) 5.3性能测试 (12) 第六章结束语 (13) 6.1全文总结 (13) 6.2下一步工作 (13) 6.3附件(部分代码) (13) 参考文献 (19)

第一章绪论 第一章绪论 1.1 选题依据 面向21世纪的科技发展,嵌入式系统(Embedded Systems)开始进入到IT时代,并且稳健发展,逐步形成一个主流。嵌入式是同是以应用为中心,以计算技术为基础,软硬件可裁剪,适于应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。它是一个技术密集、资金密集、高度分散、不断创新,基于硅片的知识集成系统。今天的嵌入式系统已普遍应用于国防电子、数字家庭、工业自动化、汽车电子、医学科技、消费电子、无线通信、电力系统等国民经济的主要行业。随着嵌入式技术的发展,嵌入式系统将更广泛地应用于人类生活的方方面面,如:基于嵌入式Internet网络的电子皮肤、可以嵌入到牙齿上的手机都在研发之中。著名嵌入式系统专家沈绪榜院士认为,“计算机是认识世界的工具,而嵌入式系统则是改造世界的产物。” Linux是一个遵循POSIX标准的免费操作系统,具有BSD和SYSV的扩展特性。与其他操作系统相比,Linux有其自身的一些特点:多任务、多用户、多平台、使用分页技术的虚拟内存等。同时由于它源代码完全公开,用户可根据需要自己定制自己的操作系统,从而系统能够很好的满足用户的要求。它是免费的自由软件,用其构建的系统成本较低,而且Linux是单内核的操作系统,并可按要求进行任意剪裁,因此具有很好的实时性,很强的稳定性、嵌入性的操作系统,因此越来越多的研究人员开始采用Linux平台来开发自己的产品。 自由开源软件在嵌入式应用上受到青睐,Linux日益成为主流的嵌入式操作系统之一。可应用于多种硬件平台,Linux采用一个统一的框架对硬件进行管理,同时从一个硬件平台到另一个硬件平台的改动与上层无关。Linux具有独特的内核模块机制,它可以根据用户的需要,实时地将某些模块插入到内核中或者从内核中移走,并能根据嵌入式设备中的个性需要量体裁衣。Linux系统内核精简、高效并且稳定,能够充分发挥硬件的功能,因此它比其他操作系统的运行效率更高。Linux 是首先实现TCP/IP协议栈的操作系统,它的内核结构在网络方面是非常完整的,并提供了对包括十兆位、百兆位及千兆位的以太网,还有无线网络、Token ring(令牌环)和光纤甚至卫星的支持,这对现在依赖于网络的嵌入式设备来说无疑是很 1

基于嵌入式QT平台下GIS(GPS)电子定位系统设计

基于嵌入式QT平台下GIS/GPS电子定位系统设计 兰见春 三明学院物理与机电工程学院 08电子科学与技术 [摘要]:本设计主要由三星ARM9芯片s3c2440、nand flash、nor flash、sdram、群创7寸触摸屏、GPS模块等硬件组成,使用linux2.6.30.4内核,QT4.5嵌入式开发环境,mitab 源码,madplay源码等等软件组成,软硬件组合搭建好嵌入式环境,实现电子地图的显示和定位、语音提示功能。具有精简、高效、调试简单的特点 [关键字]:linux 嵌入式 QT mitab GPS/GIS 第一章引言 1.1背景意义 GPS 是英文Global Positioning System(全球定位系统)的简称,GIS 是在地理学、地图学、测量学和计算机科学等学科基础上发展起来的一门学科,目前市面上的导航仪大部分都是使用WinCE系统,界面很漂亮,支持很多PPC版的导航软件。但是WinCE不开源,对于嵌入式开发不利。本系统采用了开源linux做为系统内核,很好的支持了开发者的开发,同时也支持大量的开源软件。满足嵌入式开发者的各种需求。 系统使用开源的mitab和QT4.5,解决了电子地图图形界面要求,搭配GIS开发软件mapinfo制作的基于WGS84坐标系的电子地图,与sirf第三代的GPS模块,共同实现了电子定位,同时调用madplay MP3播放器,实现语音播报功能。 目前国内关于GPS/GIS的研究已经很火热了,关于GPS的周边学科也得到迅速发展,地图数据公司群雄崛起,导航软件也很出色,往嵌入式发展的趋势已经很明显。Linux平台下的开源导航软件很少,但是支持GPS的源码和工具还是很多,像GPSd,GPSdriver等,这些开源的工具软件给开发者提供很好的开发思路。同时QT4也是linux开发的利器,这几年QT发展迅猛,已超越MFC,仅次与java 。 最近Android(一种以Linux为基础的开放源码操作系统)操作系统很热门,大部分的导航软件的开发都有往安卓发展的趋势。当下苹果的mac操作系统和谷歌的Android系统竞争手持智能设备终端,已经趋于白热化了。 综合上述信息,使用Linux内核+QT4+mitab+mapinfo地图制作嵌入式电子地图,是一种比较精简的做法,满足嵌入式平台小内存、小体积的要求,程序设计过程中,采用尽量压缩地图数据内存的方法,以提高嵌入式平台的反应速度与工作效率。 1.2嵌入式发展和QT介绍 1.2.1嵌入式的发展 近几年,嵌入式系统产品日臻完善,并在全世界各行业得到广泛应用。嵌入式系统产品的研制和应用已经成为我国信息化带动工业化、工业化促进信息化发展的新的国民经济增长

1、Qt-X11开发环境建立

安装Qt-X11编译环境 目标: 在Ubuntu12.04中安装配置QT-4.8.5-X11开发环境,编译QT工程代码,测试运行。 步骤: 1、启动Ubuntu12.04,使用root帐号登录。 2、把提供的编译好的QT-4.8.5开发包QT-4.8.5-X11.tar.gz解压到根目录/,查看解压后对应的文件目录/usr/local/Trolltech/Qt-4.8.5/,配置/etc/profile增加QT-4.8.5-X11的bin目录到PATH 路径,注销再次登录; 3、把提供的“HelloQt4”目录中的代码,复制到/root/HelloQt4-x11目录,使用QT-4.8.5-X11提供的qmake工具生成对应QT-4.8.5-X11的Makefile,执行make命令编译生成可执行程序,测试运行。 具体实现过程 1、启动嵌入式Linux开发宿主主机Ubuntu12.04,使用root帐号登录。

2、把提供的编译好的QT-4.8.5开发包QT-4.8.5-X11.tar.gz解压到根目录/,查看解压后对应的文件目录/usr/local/Trolltech/Qt-4.8.5/,配置/etc/profile增加QT-4.8.5-X11的bin目录到PATH 路径,注销再次登录; 1)解压文件 2)、进入/usr/local/Trolltech/Qt-4.8.5/查看相关文件: 3)、修改/etc/profile新增路径PATH变量在文件/etc/profile在最前面增加如下内容 PATH=$PATH:/usr/local/Trolltech/Qt-4.8.5/bin: 保存/etc/profile后,注销当前登录帐号

相关文档
相关文档 最新文档