新浪微博
腾讯微博
会员列表
统计排行
基本信息
到访IP统计
管理团队
管理统计
在线会员
会员排行
版块排行
帖子排行
标签排行
帮助
下拉
用户名
电子邮箱
用户名
密 码
记住登录
登录
找回密码
注册
快捷通道
关闭
您还没有登录,快捷通道只有在登录后才能使用。
立即登录
还没有帐号? 赶紧
注册一个
首页
论坛
Qt下载
作品展
群组
个人中心
捐赠、管理与开发
邮件订阅
帖子
文章
日志
用户
版块
群组
帖子
搜索
QTCN开发网
>
Qt嵌入式开发
>
关于qt移植的问题,望高手帮忙
发帖
回复
返回列表
新帖
4384
阅读
2
回复
关于qt移植的问题,望高手帮忙
[复制链接]
上一主题
下一主题
离线
chenliangzhu
UID:40547
注册时间
2008-01-29
最后登录
2011-03-21
在线时间
36小时
发帖
44
搜Ta的帖子
精华
0
金钱
440
威望
45
贡献值
0
好评度
44
访问TA的空间
加好友
用道具
新手上路
关闭
个人中心可以申请新版勋章哦
立即申请
知道了
加关注
发消息
只看楼主
倒序阅读
楼主
发表于: 2009-02-27
— 本帖被 XChinux 从 Qt for Windows 移动到本区(2010-02-07) —
最近在做一个游戏主机的产品,用的OMAP3530的arm体系的芯片,准备架linux在上面,如何让qt程序在板子上跑起来?
在网上看到一些帖子,但是各有不同,希望坛子的里人能给总结一下,
qt-x11-
qt-embedded-
该如何办呢?
共
条评分
回复
举报
分享到
淘江湖
新浪
QQ微博
QQ空间
开心
人人
豆瓣
网易微博
百度
鲜果
白社会
飞信
离线
arm_harry
UID:75412
注册时间
2009-02-27
最后登录
2009-03-04
在线时间
1小时
发帖
1
搜Ta的帖子
精华
0
金钱
10
威望
11
贡献值
0
好评度
1
访问TA的空间
加好友
用道具
新手上路
加关注
发消息
只看该作者
1楼
发表于: 2009-02-28
我也刚刚才学的,呵呵,帮不到你什么忙,但我也想知道,qt-x11是在PC上运行的,qt-embedded是用交叉环境编译的,后来移值到ARM的,据我了解
共
条评分
回复
举报
离线
wd007
UID:70707
注册时间
2008-12-03
最后登录
2017-01-23
在线时间
490小时
发帖
2557
搜Ta的帖子
精华
2
金钱
25816
威望
2591
贡献值
14
好评度
2594
访问TA的空间
加好友
用道具
论坛版主
加关注
发消息
只看该作者
2楼
发表于: 2009-03-02
嵌入式工具Qt的安装与使用(转载自Qt知识库)
Qt 是Trolltech公司的一个产品。Trolltech是挪威的一家软件公司,主要开发两种产品:一种是跨平台应用程序界面框架;另外一种就是提供给做嵌入式Linux开发的应用程序平台,能够应用到PDA和各种移动设备上。Qt和Qtopia分别是其中具有代表性的两个。
Qt是一个多平台的C++图形用户界面应用程序框架,它能给用户提供精美的图形用户界面所需要的所有元素,而且它是基于一种面向对象的思想,所以用户对其对象的扩展是相当容易的,并且它还支持真正的组件编程。
Qt是Linux桌面环境KDE的基础。笔者认为,可以说Qt与Windows下的Mfc的实质是一样的,所以Qt最大的优点在于其跨平台性,可以支持现有的多种操作系统平台,主要有:
◆ MS/Windows 95、Windows 98、WindowsNT 4.0、Windows 2000、Windows XP;
◆ Unix/X11 Linux、Sun Solaris、HP-UX、Compaq True64Unix、IBM AIX、SGI IRIX和很多其它X11平台;
◆ Macintoshi Mac OSX;
◆ Embedded—带FramBuffer的Linux平台。
下面简单介绍一下Qt/Embedded和Qtopia在Linux上的安装和使用,还有在开发过程中可能碰到的一些问题。
Qt 和Qtopia的安装
如果需要安装一个带FramBuffer的Qtopia平台,需要有以下软件(所列举软件以笔者使用的为例):
◆ Qtopia 1.6.0;
◆ Tmake 1.11;
◆ Qt/Embedded 2.3.4(Qtopia 1.6.0是基于该开发平台上开发的);
◆ Qt/Embedded 2.3.2 for X11;
◆ Qt 3.1.2 for X11。
在Trolltech公司的网站上可以下载该公司所提供的Qt/Embedded的免费版本。
Qtopia平台安装分为以下几个步骤:
1. 解包Qtopia
在Linux命令模式下运行以下命令:
tar xfz qtopia-source-1.6.0 (解包)
cd qtopia-source-1.6.0
export QPEDIR=$PWD (设置环境变量)
cd..
2. 安装Tmake
在Linux命令模式下运行以下命令:
tar xfz tmake-1.11.tar.gz
export TMAKEDIR=$PWD/tmake-1.11
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++
export PATH=$TMAKEDIR/bin:$PATH
3. 安装Qt/Embedded2.3.4
在Linux命令模式下运行以下命令:
tar xfz qt-embedded-2.3.4-commercial.tar.gz
cd qt-2.3.4
export QTDIR=$PWD
export QTEDIR=$QTDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
cp $QPEDIR/src/qt/qconfig-qpe.h src/tools/
. /configure -qconfig qpe -qvfb -depths 4,8,16,32
make sub-src
cd ..
也可以在configure的参数中添加-system-jpeg和gif,使Qtopia平台能支持jpeg、gif格式的图形。
4. 安装Qt/X11 2.3.2
在Linux命令模式下运行以下命令:
tar xfz qt-x11-2.3.2-commercial.tar.gz
cd qt-2.3.2
export QTDIR=$PWD
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
. /configure -no-opengl
make
make -C tools/qvfb
mv tools/qvfb/qvfb bin
cp bin/uic $QTEDIR/bin
cd ..
根据开发者本身的开发环境,也可以在configure的参数中添加别的参数,比如-no-opengl或-no-xfs,可以键入./configure -help来获得一些帮助信息。
5. 安装Qt/X11 3.1.2
在Linux命令模式下运行以下命令:
tar xfz qt-x11-commercial-3.1.x.tar.gz
cd qt-x11-commercial-3.1.x
export QTDIR=$PWD
export QT3DIR=$QTDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
./configure -thread
make
cd ..
6. 安装Qtopia
在Linux命令模式下运行以下命令:
cd qtopia-source-1.6.x
export QTDIR=$QTEDIR
export QPEDIR=$PWD
export PATH=$QPEDIR/bin:$PATH
cd src
./configure
make
cd ../..
7. 安装Qtopia桌面
cd qtopia-source-1.6.x/src
export QTDIR=$QT3DIR
./configure -qtopiadesktop
make
mv qtopiadesktop/bin/qtopiadesktop ../bin
cd ..
Qt和Qt Designer的使用
根据上面的步骤安装完成了Qt/Embedded和Qtopia之后,就可以运行这些程序了。
运行Qt的虚拟仿真窗口:在Linux的图形模式下运行命令qvfb&;Qtopia只是一个用Qt/Embedded开发的程序,运行Qtopia,在图形模式下运行命令:
export QTDIR=$QTEDIR,
qpe &;
这样Qtopia的程序就运行在QVFB上,即Qt的虚拟仿真窗口。
Qt/Embedded是针对嵌入式Linux而开发的一种开发工具,Qt封装了一些常用的类,而且这些类的名字都以Q字开头命名,如QString、QDialog等。这里主要介绍一下如何利用Qt Designer来设计组件,并生成相应的代码。
在Qt中,把组件分为复合体、原始体和配件。而在Qt中,组件是由一些抽象类、复杂的组件类、管理组件几何特性的类等组成。
Qt中有三个主要的基类:QObject、Qapplication和QWidget。
在Qt中编程,利用Signal和Slot进行对象之间的通信是Qt的主要特征。它与Windows中的消息机制非常类似,但是Signal和Slot机制真正实现了一种消息的封装。当对象的状态改变时,发出Signal,通知所有的Slot接受Signal,尽管它不知道哪些函数是Slot,Slot一开始也不知道哪些Signal可以接收。Signal和Slot之间不是一一对应的关系,一个Signal可以发给多个Slot, Slot也可以接收多个Signal。Slot除了可以接收Signal以外,与其它的成员函数没有区别。这种机制比使用回调函数要灵活,但是会减慢程序的运行速度。不过在现在高速CPU的面前,这种损失是无足轻重的,而且它还能保证程序的简明性和灵活性,非常便利。
在Qt的组件中,不仅定义了常用的成员变量和成员函数,还定义了所有与该组件相关的Signal和Slot。
要将组件组合起来,最简单的方法就是使用Qt Designer。首先要启动Qt Designer,在Linux命令模式下,键入以下命令(假设Qt安装在/usr/local下):
cd qt-2.3.2/bin
./designer
这样就可以启动一个与Windows下的Delphi相类似的如图1的界面。
然后新建一个QFrame,将自己需要的组件直接拖拉到这个Frame中,相信很多人都有过这样的经历,此处就不再详细描述了。完成之后存盘时,会将这个新的组件保存为一个扩展名为.ui的文件。假设所存的文件名为test.ui,用vi test.ui来查看这个文件,发现这是一个用xml语言写的一个文本。下面用这个test.ui生成相应的test.h和test.cpp。同样还是在这个目录下,可以看到一个uic的工具,这个是Qt专门用来将ui文件生成.h和.cpp文件的,在终端模式下键入以下命令:
./uic -o test.h test.ui
./uic -o test.h -i test.cpp test.ui
此时就能看到生成了相应test.h和test.cpp,这是一个类。当然这只是一些表面的东西,还需要在这些代码中添加相应的Signal和Slot,完成所需要的操作。值得注意的是,相应版本生成的ui最好用相应版本的uic来生成代码。如果用Qt 3.1.2的Designer生成的ui,用Qt 2.3.2的uic来生成代码,生成的代码都会是一些空函数。
在一般的开发过程中,首先通过这个ui生成的一个类,在Qt中通常叫做Base,如上面的例子,叫做testBase;然后再新建一个类,来继承这个Base。通常叫做实现类Impl,如testImpl。在这个实现类里面定义所需要的成员函数、Signal和Slot,因为ui可能是经常需要改动的。如果这样做,每次只需要在Designer中修改ui,而不用去理会这些成员函数、Signal和Slot了。
编译一个Qt程序必然需要Makefile,在Qt中提供了一个专门生成Makefile的工具,就是tmake。用tmake需要根据编写的程序写一个.pro文件。.pro文件非常简单,有固定的格式,下面是一个例子:
TEMPLATE = app
CONFIG = qtopia warn_on release
MOC_DIR =tmp
OBJECTS_DIR =tmp
HEADERS =fcrs.h\
structs.h \
globalfunc.h \
globalvars.h \
testimpl.h
SOURCES = main.cpp \
globalfunc.cpp\
globalvars.cpp \
testimpl.cpp
INTERFACES = test.ui \
TARGET = fcrs
生成这个.pro文件之后,在终端中键入下面的命令:
tmake -o Makefile test.pro
就自动生成了一个Makefile,使用这个Makefile编译所编写的程序就可以了。
共
条评分
欢迎访问我的博客,一起学习提高
http://blog.csdn.net/qter_wd007
回复
举报
发帖
回复
返回列表
http://www.qtcn.org/bbs
访问内容超出本站范围,不能确定是否安全
继续访问
取消访问
快速回复
限100 字节
您目前还是游客,请
登录
或
注册
进入高级模式
文字颜色
发 布
回复后跳转到最后一页
上一个
下一个
关闭
补充发布信息
验证码:
发 布
隐藏
快速跳转
站务及资讯
网站公告
新闻资讯
Qt官方发布
网站管理
Qt应用及资源
Qt 作品展
Qt代码秀
Qt应用版
Qt技术讨论区
Qt安装与发布
Qt中文处理
Qt基础编程
Qt QML开发
Qt嵌入式开发
Qt移动平台开发
其它技术开发讨论区
Qt图书专区
《C++ GUI Qt 4编程》(第2版)专栏
《Qt高级编程》专栏
《零基础学Qt4编程》专栏
《Qt设计模式》(第2版) 图书专栏
Python Qt GUI快速编程
Qt项目开发区
天池项目
Qt开放平台开发库
机械CAD
扇贝词典
非活跃项目区
社区中心
帖子回收站(Trash)
招聘、求职、供求、广告等
休闲娱乐
关闭
关闭
选中
1
篇
全选