




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一 QT4 for windows 程序开发心得:使用的是windows版本qt-win-opensource-4.3.3-mingw.exe,安装过程中需要注意首先安装windows版的C/C+编译器mingw,同时还安装了windows下C+编程环境devcpp-_setup.exe,两个都安装在默认路径下。并在我的电脑-属性- 高级- 环境变量- PATH- 编辑里输入c:Qt4.3.3bin;c:MinGWbin。例1:(无UI界面)通过Dev-C+工具编写QT4程序hello.cpp(c:qt4.3.3lianxitest2),1 #include 2 #include 3 int main (int argc, char *argv )4 5 QApplication app (argc, argv);6 QLabel *label = new QLabel (Hello Qt!);7 label-show ();8 return app. exec ();9 使用Qt 4.3.3 Command Prompt工具进入该文件夹:qmake projectqmkemake若没有错误则进入release文件夹运行生成的XX.EXE(与所建文件夹同名)。例2:有UI界面QT安装好后,里面Examples and Demos工具可以查看现有的示例的演示效果及源代码;通过Designer(汉化)设计UI界面,设计过程如下:1)、创建并初始化子窗口部件。2)、将子窗口部件放置到布局当中。3)、对Tab 的顺序进行设置。4)、放置信号和槽的连接。5)、完成对话框的通用槽的功能。完了以后保存在事先建好的文件夹内,名为xxx.ui。并通过Dev-C+工具编写main.cpp,注意需要将#include “ui_xxx(与UI同名).h”,并使用对象Ui:Form ui;。编写完后和.ui放在同一个文件夹内,然后使用Qt 4.3.3 Command Prompt工具进入该文件夹:qmake projectqmkemake若没有错误则进入release文件夹运行生成的XX.EXE(与所建文件夹同名)。实例:建立目录c:qt4.3.3lianxitest1。在windows中使用QT4 designer,建立 test.ui,编写main.cpp,如下:#include ui_test.hint main(int argc, char *argv) QApplication app(argc, argv); QWidget *widget = new QWidget; Ui:Form ui; ui.setupUi(widget); widget-show(); return app.exec();二 移植QT2.3.2到X11心得系统仍然用redhat9.0(系统自带QT版本是3.1),QT选择qt-x11-2.3.2.tar.gz版本建立目录/home/sprife/qt4/for_pc目录,并将qt-x11-2.3.2.tar.gz放在该目录下# tar xzf qt-x11-2.3.2.tar.gzexport QT2DIR=$PWD/qt-2.3.2 ($PWD可输入绝对路径,例如/home/sprife/qt4/for_pc)export QTDIR=$QT2DIRexport PATH=$QTDIR/bin:$PATHexport LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH./configure -no-xft /出现选项时都输入yes(不能使用prefix参数指定安装路径)make如果想要进一步了解可以通过键入 ./configure -help 来获得更多的帮助信息。若出现报错:cannot find lqt-mt则是因为原来系统中自带QT其他版本,解决方法是将安装目录里makefile文件中的lqt-mt变为-lqt若嫌每次定义环境变量麻烦可vi /etc/profile中加入:export QT2DIR=/home/sprife/qt4/for_pc/qt-2.3.2 (绝对路径)export QTDIR=$QT2DIRexport PATH=$QTDIR/bin:$PATHexport LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATHsource /etc/profileenv (查看环境变量是否正确)三 QT2程序开发:(直接使用C+编程调用库) 1 在linux下编写hello.cpp (/home/sprife/qt4/for_pc/hello1)#include #include int main(int argc, char *argv)QApplication app (argc, argv);QLabel *hello = new QLabel(Hello Qt/Embedded!, 0);app.setMainWidget(hello);hello-show();return app.exec();2 对比QT4程序hello.cpp(c:qt4.3.3lianxitest2)1 #include 2 #include 3 int main (int argc, char *argv )4 5 QApplication app (argc, argv);6 QLabel *label = new QLabel (Hello Qt!);7 label-show ();8 return app. exec ();9 可发现一些不同:A:include库文件的形式不同B:main中argv不同(两种均可)C:QT2中QLabel括号里要加参数0编写完成后在linux终端下运行:qmake projectqmkemake出现的大部分问题集中在环境变量未设置好;Makefile 中lpt-mt以及编写程序不符合QT2程序编写规范。四 使用QT2 designer设计界面 QT2为早期QT版本,界面不是很优美。在linux中建立目录/home/sprife/qt4/for_pc/test,首先在目录中设计界面test.ui;使用Qt 提供的uic 工具可以方便的通过这个文件来生成.h 文件和.cpp文件,具体操作如下:(使用qt2.3.2里bin的uic,注意PATH$QT2DIR)uic o test.h test.uiuic o test.cpp -impl test.h test.ui完成了这两个命令后,我们会发现在我们的当前目录中会有test.h 与test.cpp 两个文件,只有这两个文件程序还是不能运行的,我们还需要再创建一个main.cpp 文件,如下:#include #include test.hint main(int argc, char *argv)QApplication app (argc, argv);Form1 form;form.show();return app.exec();五 在X11下移植安装QT/E在/home/sprife/qt4下建立目录for_arm,并将压缩文件qt-embedded-2.3.10-free.tar.gz以及tmake-1.13.tar.gz放入该目录cd /for_armtar xzf qt-embedded-2.3.10-free.tar.gztar xzf tmake-1.13.tar.gzexport QTEDIR=$PWD/qt-2.3.10 ($PWD也可使用绝对路径,/home/sprife/qt4/)export TMAKEDIR=$PWD/tmake-1.131 安装QT/Eexport TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g+export QTDIR=$QTEDIRexport PATH=$QTDIR/bin:$PATHexport LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH./configure -no-xft -qvfb -depths 4,8,16,32yes5make在配置./configure 中-qvfb 用来支持Virtual framebuffer,-depths 4,8,16,32 支持4 位,8位,16 位,32 位的显示深度,此外还可以添加如-syestem-jpeg 和-gif 来提供对jpeg 和gif的支持。并将刚才在qt-2.3.2里生成的/home/sprife/qt4/for_pc /qt-2.3.2/bin/uic 复制到$QTEDIR 下的目录bin 中,因为在随后编译Qt/Embedded 的时候会用到这个工具。2 配置qvfbexport QTDIR=$QT2DIRexport PATH=$QTDIR/bin:$PATHexport LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATHcd $QTEDIR/tools/qvfbqmake -projectqmake (用qt2.3.2中的库生成的qvfb)makecp qvfb $QTEDIR/bin/qvfb 工具用来生成Virtual framebuffer,这是一个非常有用的工具,它可以模拟在开发板上的显示情况,如果在Virtual framebuffer 中运行没有问题的话,可以直接通过交叉编译在开发板上运行。3 在Virtual framebuffer 上运行结果:注意查看PATH是否在$QTEDIR 下,如不是,则运行export QTDIR=$QTEDIRexport PATH=$QTDIR/bin:$PATHexport LD_LIBRARY_PATH=$QTEDIR/lib:$QT2DIR/lib:$LD_LIBRARY_PATH(加入到/etc/profile中)cd $QTEDIR/examples/launcherqvfb -width 640 -height 480 &sleep 10./launcher -qws如果能运行出结果,表示QT/E与QVFB正常。在这里面如果出现问题,大部分集中在环境变量设置中六 使用QT/E及QVFB开发程序1 首先确保环境变量是否正确,使用echo查看export TMAKEDIR=/home/sprife/qt2/for_arm/tmake-1.13export TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g+ (由于在PC上以qvfb方式虚拟运行QT/E)export QTDIR=$QTEDIRexport PATH=$QTDIR/bin:$PATHexport LD_LIBRARY_PATH=$QTEDIR/lib:$QT2DIR/lib:$LD_LIBRARY_PATH(原因是如果只用$QTEDIR/lib,则qvfb无法运行(因为qvfb运行需要qt2.3.2的库),而只使用$QT2DIR/lib,则makefile有问题)2 在/for_arm下建立hello1目录,编写hello.cpp(未使用UI设计器)第一、用生成工程文件$TMAKEDIR/bin/progen t app.t o 第二、生成makefile$TMAKEDIR/bin/tmake o Makefile (不能使用qmake生成工程文件和makefile文件)第三、make,生成可执行文件第四、qvfb &./hello1 qws3 在/for_pc下建立hello1目录,使用$QT2DIR/bin中的工具designer设计UI,并保存为test.ui,并编写main.cpp。uic o test.h test.uiuic o test.cpp -impl test.h test.ui$TMAKEDIR/bin/progen t app.t o $TMAKEDIR/bin/tmake o Makefile makeqvfb &./test qws七 移植到开发板上1 若之前编译过,查看libqte.so.2.3.10是否是ARM的,若是X86的需要重新编译。编译方法是在QT/E目录下make cleanexport TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g+export QTDIR=$QTEDIRexport PATH=$QTDIR/bin:$PATHexport LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH./configure -xplatform linux-arm-g+ -no-xft -no-qvfb -depths 4,8,16,32yes5make在$QTEDIR/lib/目录下面查看libqte.so; libqte.so.2; libqte.so.2.3; libqte.so.2.3.10 这四个文件,使用file 命令来查看这个库文件是否是需要的在开发板上跑的库。file libqte.so.2.3.10libqte.so.2.3.10: ELF 32-bit LSB shared object, ARM, version 1 (ARM), not stripped2 修改 tmake 配置文件,并生成可执行文件vi $TMAKEDIR/lib/qws/linux-arm-g+/tmake.conf将其中“TMAKE_LINK= arm-linux-gcc”“TMAKE_LINK_SHLIB= arm-linux-gcc”修改为:“TMAKE_LINK=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 25秋新人教版英语七年级上册 Starter Unit 1同步练习(含答案)
- 江苏语文自考试题及答案
- 2025年物业维修基金管理合同范本
- 2025年广西玉林市公需课培训(专业技术人员继续教育)试题及答案
- 商业伦理考试题库及答案
- 陕西定向选调考试真题及答案
- 番禺附中考试题目及答案
- 武胜县高考试卷真题及答案
- 软件开发员笔试题及答案
- 2025年婴幼儿照护赛竞赛试题附答案
- 2025四川省水电投资经营集团有限公司所属电力公司员工招聘6人备考模拟试题及答案解析
- 房地产中介居间服务合同5篇
- 童话中的英雄勇敢的小矮人作文10篇范文
- 康复科的科室介绍
- 公安校园欺凌课件大纲
- 人教PEP版(2024)四年级上册英语全册教案(单元整体教学设计)
- 2025年江苏省南京市中考历史真题卷含答案解析
- 2025-2026学年浙教版小学劳动技术一年级上册教学计划及进度表
- 甲状腺疾病课件
- 数控滚齿机操作指导手册
- 医保智能审核培训课件
评论
0/150
提交评论