QT helloworld 程序

发布者:未来感知最新更新时间:2015-05-06 来源: 51hei关键字:编译工具  Bootloder  linux内核 手机看文章 扫描二维码
随时随地手机看文章
1、 搭建嵌入式交叉环境
 

a.      交叉编译工具链接

b.      主机交叉编译环境配置

c.      Bootloder,linux内核,文件系统构建

2、 简单的helloworld 程序

增加执行权: chmod u+x  ./ qt-sdk-linux-x86-opensource-2010.04.bin

a. 用File->New菜单来新建工程。

b.选择Qt4 Gui Application

c.输入工程名helloworld

d.软件自动添加基本的头文件

e.base class选为QDialog对话框类

f.完成工程的建立

g.工程中的所有文件都出现在列表

h.双击文件列表的dialog.ui文件

i.找到Label标签器件,拖到设计窗口上

j.双击它,并将其内容改为hello world

 

3、 Helloworld程序的编译

在主机的 oothelloworld目录下:

生成Makefile文件

qmake –project

编译程序:make 生成helloworld 程序

#cp ./helloworld /nfs/app/

在目标机上:#cd ./app 运行程序:#./helloworld -qws

 

3.目标机的运行环境

a. bootloder 在/tftpboot/目录下

b. linux内核(2.6)

c. 包含qt的文件系统:有两种方式下载,直接下载目标机(rootfs.img)或者用nfs方式下载

 

4、 编译代码:先要设置它在PC里面还是在目标机中(Tools--->Options)

PC: QT4.5.3opensource,如果选了它,可以在PC机运行。

目标机:QT4.5.3,只能Build All

5、 复杂的hello程序

新建GUI 的hello工程,选择wedget

放一个lable 三个pushbutton

选择pushbutton –>goto slot –>设置Label的text的函数:ui->lblHello->setText("Good, World");

6、 信号和槽

发一个信号,会有槽(SLOT)来响应它

cmdClose这个button发clicked()     on_cmdClose_clicked()

 

也可以使用connect这个函数来做到

connect(ui->cmdClose, SIGNAL(clicked()),this, SLOT(on_cmdClose_clicked()))[page]

7、 标准对话框

标准的文件对话框(QFileDialog)、标准的颜色对话框(QColorDialog)、标准的字体对话框(QFontDialog)

建立standardDialog GUI工程  Dialog窗口

三个pushbutton 一个lineEdit 一个Frame 一个lineEdit

 

头文件:文件对话框(QFileDialog、QSring)、字体对话框(QFont、QFontDialog)

颜色对话框(QColor、QColorDialog、QPalete)

#include

#include

#include

#include

#include

#include

#include

对应的.cpp代码

文件:注意QFileDialog::getOpenFileName()、setText(s.toAscii())

QStrings=QFileDialog::getOpenFileName(this, "Open File Dialog","/", "C++ files(*.cpp);;Headfiles(*.h)");

ui->txtFile->setText(s.toAscii());

 

字体:注意QFontDialog:getFont(&ok)、setFont(font)

 bool ok;

QFontfont = QFontDialog::getFont(&ok);

if(ok)

{

         ui->txtFont->setFont(font);

}

颜色:注意QColorDialog::getColor(Qt::blue)、setAutoFillBackground(true)、setPalette(QPalette(color))

QColorcolor = QColorDialog::getColor(Qt::blue);

if(color.isValid())

{

ui->frmColor->setAutoFillBackground(true);  

ui->frmColor->setPalette(QPalette(color));

}

 

8、标准输入框

多文本

QInputDialog::getText(this,"inputuser name!","Please input user name:", QLineEdit::Normal,nameLa bel->text(),&ok);

txtName->setText(s.toAscii());

有限文本

QInputDialog::getItem(this,"Input***!", "Please select the ***:",list, 0,false,&ok);

ui->txtSex->setText(s.toAscii());

整数输入

QInputDialog::getInteger(this,"Input the Age!","Please input theage:",ageLabel->text().toInt(),0,150,1,&ok);

ui->txtAge->setText(QString(tr("%1")).arg(age));

实数输入

QInputDialog::getDouble(this,"Input the height!","Please input theheight:",175,0,230,1,&ok);

ui->txtHeight->setText(QString(tr("%1")).arg(height));

 

8、   标准消息框

消息:提问(question)、信息(information)、警告(warning)、致命提示(critical)

头文件:QMessageBox

#include

.cpp文件

Int  ret;

Ret=QMessageBox::question()

Ret=QMessageBox::information()

Ret=QMessgeBox::warning();

Ret=QmerssageBox::critical();

关键字:编译工具  Bootloder  linux内核 引用地址:QT helloworld 程序

上一篇:ucos ii中的时钟中断技术研究
下一篇:学习plc,单片机,组态软件,嵌入式的一些心得

推荐阅读最新更新时间:2024-03-16 14:00

arm驱动Linux内核开发之阻塞非阻塞IO轮询操作
《 Linux内核开发之阻塞非阻塞IO----轮询操作》涉及内核驱动函数二个,内核结构体零个,分析了内核驱动函数二个;可参考的相关应用程序模板或内核驱动模板二个,可参考的相关应用程序模板或内核驱动一个 一、概念:Poll是非阻塞IO----轮询操作 非阻塞 I/O 的应用程序常常使用 poll, select, 和 epoll 系统调用. poll, select 和 epoll 本质上有相同的功能: 每个允许一个进程来决定它是否可读或者写一个或多个文件而不阻塞. Tip:select()和poll(),epoll查询是否可对设备进行无阻塞的访问,这几个系统调用最终又会引发设备驱动中的poll()函数被执行 PS:看到这感觉晕了
[单片机]
Linux 系统下ARM Linux交叉编译环境crosstool工具
Linux 系统下ARM Linux交叉编译环境的建立目前流行的有三种途径。 一、使用别人编译好的开发工具链 cross-2.95.3.tar.bz2 arm-linux-gcc-3.3.2.tar.bz2 arm-elf-tools-20030314.sh。 其中arm-elf-tools 是专门用来编译uclinux内核的。我们常用的cross-cross-2.95.3,下载cross-2.95.3.tar.bz2 解压后放到/usr/local/arm 目录下设置下PATH即可使用,这是最方便快捷的方式,缺点是cross-2.95.3 GCC版本是2.95.3,版本较低,不能编译2.6版本的Linux内核和版本较高的u
[单片机]
基于S3C2440的Linux内核移植和yaffs2文件系统制作--根文件系统
第二章 制作根文件系统 2.1 根文件系统预备知识 嵌入式Linux中都需要构建根文件系统,构建根文件系统的规则在FHS(Filesystem Hierarchy Standard)文档中,下面是根文件系统顶层目录。 目录 内容 bin 存放所有用户都可以使用的、基本的命令。 sbin 存放的是基本的系统命令,它们用于启动系统、修复系统等。 usr 里面存放的是共享、只读的程序和数据。 proc 这是个空目录,常作为proc文件系统的挂载点。 dev 该目录存放设备文件和其它特殊文件。 etc 存放系统配置文件,包括启动文件。 lib 存放共享库和可加载块(即驱动程序),共享库用于启动系统、运行根文件系统中的可执行程序。 boo
[单片机]
Exynos4412 Uboot 编译工具 —— 交叉工具链 arm-linux-gcc 的安装
一、什么是交叉编译? 在开发主机运行编译器编译内核、应用程序。内核和程序在目标机上运行,这个编译过程被称为交叉编译。编译器运行在开发主机(通常是X86体系的PC机)上,编译出的的代码是目标机体系结构的,如:ARM。 在主机上除了编译还可以完成制作根文件系统地工作。 嵌入式Linux开发,交叉编译使用开源GNU工具集,gcc等。 二、制作交叉编译器 我们可以自己制作交叉编译器,需要gcc,glibc,二进制工具集 ,通过crosstool,crosstool-ng脚本来实现。这里不展示制作过程。 三、安装交叉编译器 1、解压工具链压缩包 1)将gcc-4.6.4.tar.xz 拷贝到 toolschain文
[单片机]
Exynos4412 Uboot <font color='red'>编译</font><font color='red'>工具</font> —— 交叉<font color='red'>工具</font>链 arm-linux-gcc 的安装
STM8--STVD编译工具安装与程序下载
1、安装STVD,在ST的官网下载。 STVD只支持汇编开发,C语言开发需要安装COSMIC C編譯器,单独下载。 2、到COSMIC官网下载COSMIC C for STM8:http://www.cosmic-software.com/download.php#stm8 对于stm8可以使用32K免费使用权限,每台电脑是1年,以及16K的限制权限。 需要使用邮件获取license.lic文件(必须使用邮件或在线获取,其他方法会不成功)。 3、在STVD添加COSMIC编译器,选择Tools- Option选项Toolsets页面进行设置。 同时软件会自动提示:添加license文件,将前面邮件获取的li
[单片机]
STM8--STVD<font color='red'>编译</font><font color='red'>工具</font>安装与程序下载
Linux内核的嵌入式系统应用
随着多媒体技术与通讯技术相结合的信息技术的快速发展和互联网的广泛应用,PC 时代也过渡到了后PC时代。在数字信息技术和网络技术高速发展的后PC时代,嵌入式技术越来越与人们的生活紧密结合。    操作系统为用户使用计算机及其外部设备提供最基本的接口程序,管理计算机上的资源。随着应用领域的扩大,为了适应不同的应用场合,考虑到系统的灵活性、可伸缩性以及可裁剪性,一种以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗要求严格的专用计算机系统—— 嵌入式操作系统随之延生。    Linux 操作系统是一种性能优良、源码公开且被广泛应用的免费操作系统,由于其体积小、可裁减、运行速度高、良好的网络性能等优
[嵌入式]
ARM在嵌入式linux内核裁剪与移植的应用
微处理器用一片或少数几片大规模集成电路组成的中央处理器。这些电路执行控制部件和算术逻辑部件的功能。微处理器与传统的中央处理器相比,具有体积小,重量轻和容易模块化等优点。微处理器的基本组成部分有:寄存器堆、运算器、时序控制电路,以及数据和地址总线。微处理器能完成取指令、执行指令,以及与外界存储器和逻辑部件交换信息等操作,是微型计算机的运算控制部分。它可与存储器和外围电路芯片组成微型计算机。但这些专用操作系统都是商业化产品,其高昂的价格使许多低端产品的小公司望而却步;而且,源代码封闭性也大大限制了开发者的积极性。而Linux的开放性,使得许多人都认为Linux非常适合多数Intemet设备。Linux操作系统可以支持不同的设备和不同的
[单片机]
在 vscode 上使用 IAR_STM8 工具链开发 编译 调试 STM8 项目
本文介绍如何在 EIDE 上使用 IAR_STM8 工具链完成项目 创建,编译,并使用 STM8-Debug 完成调试 本文以 STM8S105K4T6 为例 1. 使用 EIDE 创建一个 8/16 Bit MCU 项目 注意: STM8 项目路径中 不要含有任何中文字符 和 空格,否则调试功能将无法使用 2. 项目目录下创建一个文件夹,将 STM8S 标准外设库复制到该目录下 3. 添加宏,本例是:STM8S105 4. 将 STM8S_StdPeriph_Driver 目录添加到项目,并排除 无用和不支持 的外设 排除该 芯片 不支持的外设,和不需要使用的外设 5. 切换到 IAR_STM8 工具链
[单片机]
在 vscode 上使用 IAR_STM8 <font color='red'>工具</font>链开发 <font color='red'>编译</font> 调试 STM8 项目
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved