ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:1.16MB ,
资源ID:6187000      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6187000.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(QT4编程指导.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

QT4编程指导.docx

1、QT4编程指导QT4编程实验指导 硬件:博创经典2410L、PC机Pentumn500以上, 硬盘80G以上。 软件:PC机操作系统RHEL4 xshell ARM-Linux开发环境 qt-embedded-linux-opensource-src-4.4.0.tar.bz2 tslib-1.4.tar.bz2、qt-x11-opensource-src-4.4.0.tar.gz 一、 编译QT-X11环境 cd /home/sprife mkdir qt4 cd qt4 mkdir for_pc mkdir for_arm cp /home/qt-x11-opensource-src-4.

2、4.0.tar.gz /home/sprife/qt4/for_pc cp /home/qt-embedded-linux-opensource-src-4.4.0.tar.bz2 /home/sprife/qt4/for_arm cp /home/tslib-1.4.tar.bz2 /home/sprife/qt4/for_arm cd /home/sprife/qt4/for_pc tar xzvf qt-x11-opensource-src-4.4.0.tar.gz cd qt-x11-opensource-src-4.4.0 ./configure (./configure -pref

3、ix /usr/local/Trolltech/Qt-x11-4.4.0) (yes) gmake gmake install二、 编译QT/E环境注:核心板使用PXA270可略去触摸屏步骤使用USB鼠标作为输入 1、编译tslib1.4触摸屏库 cd /home/sprife/qt4/for_arm tar xjvf tslib-1.4.tar.bz2 cd tslib-1.4 vi build.sh #/bin/sh export CC=arm-linux-gcc ./autogen.sh echo ac_cv_func_malloc_0_nonnull=yes arm-linux.cac

4、he ./configure -host=arm-linux -cache-file=arm-linux.cache -prefix=$PWD/./tslib1.4-install make make install 编译: ./build.sh2、编译QT/E库 cd /home/sprife/qt4/for_arm tar xjvf qt-embedded-linux-opensource-src-4.4.0.tar.bz2 cp -a tslib1.4-install/lib/* qt-embedded-linux-opensource-src-4.4.0/lib/ cp -a tsli

5、b1.4-install/include/ts* qt-embedded-linux-opensource-src-4.4.0/include/ cd qt-embedded-linux-opensource-src-4.4.0 ./configure -embedded arm -xplatform qws/linux-arm-g+ -depths 16 -little-endian -qt-mouse-linuxtp -qt-mouse-tslib -I/home/sprife/qt4/for_arm/tslib1.4-install /include L/home/sprife/qt4/

6、for_arm/tslib1.4-install/lib -prefix /mnt/nfs/Trolltech/qt-embedded-4.4.0 make make install -prefix 选项要特殊注意,该指定目录必须要与实际NFS目录对应否则字体处会出现错误3、测试触摸屏及QT/E程序 1、建立NFS共享目录/arm2410cl cd / mkdir arm2410cl cd arm2410cl mkdir Trolltech cd Trolltech mkdir qt-embedded-4.4.0 cd qt-embedded-4.4.0 cp /home/sprife/qt4

7、/for_arm/qt-embedded-linux-opensource-src-4.4.0/l ib/ ./ -arf cp /home/sprife/qt4/for_arm/tslib1.4-install/etc/ ./ -arf cp /home/sprife/qt4/for_arm/tslib1.4-install/bin/ ./ -arf 2、ARM端挂载NFS共享目录 mount -o nolock,rsize=4096,wsize=4096 192.168.1.111:/arm2410cl /mnt/nfs 3、设置环境变量 cd /mnt/nfs/Trolltech/qt-

8、embedded-4.4.0 export QTDIR=$PWD export LD_LIBRARY_PATH=$PWD/lib export TSLIB_TSDEVICE=/dev/event0 export TSLIB_PLUGINDIR=$PWD/lib/ts export TSLIB_CONSOLEDEVICE=none export TSLIB_CONFFILE=$PWD/etc/ts.conf export POINTERCAL_FILE=$PWD/etc/ts-calib.conf export QWS_MOUSE_PROTO=tslib:/dev/event0 export T

9、SLIB_CALIBFILE=$PWD/etc/ts-calib.conf export LANG=zh_CN 4、执行触摸屏校准程序(在qt-embedded-4.4.0下) ./bin/ts_calibrate 如果出现如下错误提示: Couldnt load module pthres No raw modules loaded. ts_config: Success 则更改ts.conf配置文件选择一个输入设备 vi /mnt/nfs/Trolltech/qt-embedded-4.4.0/etc/ts.conf # Uncomment if you wish to use the l

10、inux input layer event interface # module_raw input 更改为 # Uncomment if you wish to use the linux input layer event interface module_raw input 若提示: /dev/touchscreen/ucb1x00: No such file or directory 则一般是环境变量没设置好的问题,可以重新仔细检查环境变量的设置 再次执行触摸屏校准程序即可,程序会自动存储坐标校准信息以便应用程序 使用。 此时如无错误则进入5点触摸屏校准程序并存储配置文件 还可以进行

11、其他触摸屏测试程序ts_test、ts_print等 5、执行QT/E带触摸屏的例子程序 在宿主机端拷贝编译好的ARM端可执行程序 cp /home/sprife/qt4/for_arm/qt-embedded-linux-opensource-src-4.4.0/e xamples/widgets/digitalclock/digitalclock /arm2410cl/Trolltech/qt-embedded-4.4.0/ ARM端执行该程序 ./digitalclock qws 如出现如下错误: error while loading shared libraries: libz.so

12、.1: cannot open shared object file: No such file or directory 则在宿主机端交叉编译器目录下搜索该库文件,拷贝到lib目录下(具体库 文件位置可能不尽相同) cp /opt/host/armv4l/armv4l-unknown-linux/lib/libz.so.1 /arm2410cl/Trolltech/qt-embedded-4.4.0/lib/ 若出现错误 error while loading shared libraries: libstdc+.so.6: cannot open shared object file: N

13、o such file or directory 拷贝 cp /home/bc/gcc-3.4.2-glibc-2.2.5/arm-linux/arm-linux/lib/libstdc+. so.6 /arm2410cl/Trolltech/qt-embedded-4.4.0/lib/ 若 error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory 则 cp /home/bc/gcc-3.4.2-glibc-2.2.5/arm-li

14、nux/arm-linux/lib/libgcc_s.s o.1 /arm2410cl/Trolltech/qt-embedded-4.4.0/lib/ 如果想让QT/E在ARM端支持USB鼠标,可以在ARM端配置环境变量2410核心板: export QWS_MOUSE_PROTO=MouseMan:/dev/input/mouse0270核心板:export QWS_MOUSE_PROTO=TPanel:/dev/touchpanel MouseMan:/dev/mice 即可。 三、 编写QT-X11程序进入QT for X11 目录中进行设计rootvm-dev # cd /home/

15、sprife/qt4/for_pc/建立实验目录rootvm-dev for_pc# mkdir testqt-x11rootvm-dev for_pc# cd testqt-x11/rootvm-dev testqt-x11#使用designer编辑程序控件rootvm-dev testqt-x11# /home/sprife/qt4/for_pc/qt-x11-opensource-src-4.4.0/bin/designer将弹出designer界面选择一个窗口布局Widget 点击-创建拖拽几个简单的控件(TextEdit、PushBotton、TextLabel)进行界面设计初始化控

16、件及相关属性内容建立信号与槽的连接show按钮与文本编辑框的连接clicked-clear第二组信号与槽的连接exit按钮与Form的连接clicked-closed退出界面编辑保存为UI格式 testx11.uirootvm-dev testqt-x11# /home/sprife/qt4/for_pc/qt-x11-opensource-src-4.4.0/bin/designer rootvm-dev testqt-x11# lstestx11.uirootvm-dev testqt-x11#编辑main.cpp函数rootvm-dev testqt-x11# vi main.cpp #

17、include ui_testx11.h int main(int argc, char *argv) QApplication app(argc, argv); QWidget *widget = new QWidget; Ui:Form ui; ui.setupUi(widget); widget-show(); return app.exec(); rootvm-dev testqt-x11# lsmain.cpp testx11.uirootvm-dev testqt-x11#编译程序生成工程文件.prorootvm-dev testqt-x11# /home/sprife/qt4/f

18、or_pc/qt-x11-opensource-src-4.4.0/bin/qmake -projectrootvm-dev testqt-x11# lstestqt-x11.pro testx11.ui main.cpp编译生成Makefile文件rootvm-dev testqt-x11# /home/sprife/qt4/for_pc/qt-x11-opensource-src-4.4.0/bin/qmake rootvm-dev testqt-x11# lsMakefile testqt-x11.pro testx11.ui main.cpp编译生成可执行文件rootvm-dev te

19、stqt-x11# make/usr/local/Trolltech/Qt-x11-4.4.0/bin/uic testx11.ui -o ui_testx11.hg+ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Trolltech/Qt-x11-4.4.0/mkspecs/linux-g+ -I. -I/usr/local/Trolltech/Qt-x11-4.4.0/include/QtCore -I/usr/local/Trollt

20、ech/Qt-x11-4.4.0/include/QtCore -I/usr/local/Trolltech/Qt-x11-4.4.0/include/QtGui -I/usr/local/Trolltech/Qt-x11-4.4.0/include/QtGui -I/usr/local/Trolltech/Qt-x11-4.4.0/include -I. -I. -I. -o main.o main.cppg+ -Wl,-rpath,/usr/local/Trolltech/Qt-x11-4.4.0/lib -o testqt-x11 main.o -L/usr/local/Trolltec

21、h/Qt-x11-4.4.0/lib -lQtGui -L/usr/local/Trolltech/Qt-x11-4.4.0/lib -L/usr/X11R6/lib -lpng -lSM -lICE -pthread -pthread -lXi -lXrender -lXrandr -lfreetype -lfontconfig -lXext -lX11 -lQtCore -lz -lm -pthread -lgthread-2.0 -lglib-2.0 -lrt -ldl -lpthreadrootvm-dev testqt-x11# lsmain.cpp main.o Makefile

22、testqt-x11 testqt-x11.pro testx11.ui ui_testx11.hrootvm-dev testqt-x11#程序编译成功了执行编译好的程序测试下观察效果rootvm-dev testqt-x11# ./testqt-x11QT编程扩展编写自定义的信号与槽将上个实验的目录复制出另一份并改名为testmyqt-x11rootvm-dev for_pc# cd /home/sprife/qt4/for_pc/rootvm-dev for_pc# cp testqt-x11 testmyqt-x11 arfrootvm-dev for_pc# cd testmyqt-

23、x11/rootvm-dev testmyqt-x11#编辑自己定义槽函数的头文件myqt.h包含ui_testx11.h头文件,继承其控件类,定义自定义函数文件处理函数MyDlg(),并添加自定义函数槽ShowInfo()即可。rootvm-dev testmyqt-x11# vi myqt.h#ifndef _DLG_H_#define _DLG_H_ #include #include class MyDlg : public QDialog Q_OBJECT public: MyDlg(); public slots: void ShowInfo(); private: Ui:Form

24、 ui;#endif 编辑myqt.cpp文件进行函数功能实现其中ShowInfo()函数槽中定义改变textEdit的内容为“Welcome to UP-TECH”rootvm-dev testmyqt-x11# vi myqt.cpp#include myqt.h MyDlg:MyDlg() ui.setupUi(this); QObject:connect(ui.pushButton, SIGNAL(clicked(), this, SLOT(ShowInfo(); QObject:connect(ui.pushButton_2, SIGNAL(clicked(), this, SLOT

25、(close(); void MyDlg:ShowInfo()ui.textEdit-setHtml(QApplication:translate(Form, nnp, li white-space: pre-wrap; nnWelcome to UP-TECH, 0, QApplication:UnicodeUTF8);重新编辑main.cpp函数包含自定义头文件并使用自定义的类对象进行QT实现rootvm-dev testmyqt-x11# vi main.cpp#include #include myqt.h int main(int argc, char *argv) QApplica

26、tion app(argc, argv); MyDlg *mydlg = new MyDlg; return mydlg-exec();查看当前目录文件rootvm-dev testmyqt-x11# lsmain.cpp myqt.cpp myqt.h testx11.uirootvm-dev testmyqt-x11#编译程序:rootvm-dev testmyqt-x11# /home/sprife/qt4/for_pc/qt-x11-opensource-src-4.4.0/bin/qmake -projectrootvm-dev testmyqt-x11# /home/sprife/

27、qt4/for_pc/qt-x11-opensource-src-4.4.0/bin/qmake rootvm-dev testmyqt-x11# make/usr/local/Trolltech/Qt-x11-4.4.0/bin/uic testx11.ui -o ui_testx11.hg+ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Trolltech/Qt-x11-4.4.0/mkspecs/linux-g+ -I. -I/usr

28、/local/Trolltech/Qt-x11-4.4.0/include/QtCore -I/usr/local/Trolltech/Qt-x11-4.4.0/include/QtCore -I/usr/local/Trolltech/Qt-x11-4.4.0/include/QtGui -I/usr/local/Trolltech/Qt-x11-4.4.0/include/QtGui -I/usr/local/Trolltech/Qt-x11-4.4.0/include -I. -I. -I. -o main.o main.cppg+ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Trolltech/Qt-x11-4.4.0/mkspecs/linux-g+ -I. -I/usr/local/Trolltech/Qt-x11-4.4.0/include/QtCore -I/usr/local/Trolltech/Qt-x11-4.4.0/include/QtCore -I/usr/local/Trolltech/Qt-x11-4.4.0/include/QtGui -I/u

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1