实验11 QT程序设计及烧写.docx
- 文档编号:29395143
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:12
- 大小:1.03MB
实验11 QT程序设计及烧写.docx
《实验11 QT程序设计及烧写.docx》由会员分享,可在线阅读,更多相关《实验11 QT程序设计及烧写.docx(12页珍藏版)》请在冰豆网上搜索。
实验11QT程序设计及烧写
实验5QT程序设计及烧写
●实验目的:
1、掌握QT简单程序的设计方法及步骤。
2、掌握QT资源文件的添加
3、掌握QT多界面的跳转。
4、掌握QT程序的移植方法。
●实验要求:
理解QT编程的一般方法和程序移植的思路。
●实验器材:
软件:
1.安装了Ubunt的vmware虚拟机
2.GEC210开发板
硬件:
PC机一台
●实验题目及操作步骤:
1、不使用集成开发工具,用纯代码编写第一个QT程序hello,实现运行效果如下图,
注意:
在Linux环境的编译步骤,可以使用qmake–v命令查看QT版本。
qmake–project
qmake
make
./hello
2、学习信号和槽的机制,实现单机按钮退出界面。
效果如下图所示:
参考代码如下:
#include
#include
intmain(intargc,char*argv[])
{
QApplicationa(argc,argv);
QPushButton*button=newQPushButton("Quit");QObject:
:
connect(button,SIGNAL(clicked()),&a,SLOT(quit()));
button->show();
returna.exec();
}
3、用集成开发环境实现上题功能。
4、如下图界面上有一个label,两pushbutton。
当点击一个pushbutton时,Label显示字符1
点击另一个pushbutton时,label显示字符2
4、添加资源练习,实验效果如下图所示。
设计过程如下所示。
然后添加前缀和文件,注意:
这一步之后一定要保存!
!
!
!
!
!
!
!
!
!
选择修改背景色。
5、实现界面跳转和返回练习。
单击“进入”按钮进入第二个界面,并隐藏第一个界面。
单击“返回”按钮返回到第一个界面。
实现方法:
首先如下图操作,在工程中添加第二个界面。
在dialog.h中添加一个Dialog2类的指针。
6、实现开发板LED控制的QT程序。
核心参考代码如下:
#include"leds.h"
#include"ui_leds.h"
#include
#include
#include
#include
Widget:
:
Widget(QWidget*parent):
QWidget(parent),
ui(newUi:
:
Widget)
{
ui->setupUi(this);
}
Widget:
:
~Widget()
{
deleteui;
}
voidWidget:
:
on_pushButton_Led1On_clicked()
{
intfd=:
:
open("/dev/leds",0);
:
:
ioctl(fd,1,0);
:
:
close(fd);
}
voidWidget:
:
on_pushButton_led1Off_clicked()
{
intfd=:
:
open("/dev/leds",0);
:
:
ioctl(fd,0,0);
:
:
close(fd);
}
voidWidget:
:
on_pushButton_Close_clicked()
{
close();
}
移植QT程序到GEC210开发板。
1、首先安装交叉编译工具链,arm-none-linux-gnueabi-arm-2010-09-50-for-linux.tar.bz2
将其解压到/usr/loacal/arm目录下
tar-xzvf
2、将QT程序交叉编译之后产生开发板运行的可执行文件,例如:
test。
将其拷贝到/opt目录下
3、挂载Ubunt的/opt目录到开发板的/mnt目录。
4、在开发板的/mnt目录下执行./test–qws命令。
具体QT交叉开发环境和开发板的挂载方法如下所示。
一、参考《GEC210嵌入式系统开发教材20131120(更新).pdf》的P43页,2.9NFS挂载实验,将开发版和PC机的/opt目录挂载到开发版的/mnt目录下
具体步骤:
首先确保linux系统内已安装nfs-kernel-server,nfs-common,可用nfsstat查看,
如果没有安装,则在linux联网的情况下,执行如下两条命令(以Ubuntu为例)
#sudoapt-getinstallnfs-common
#sudoapt-getinstallnfs-kernel-server//安装nfs服务器
配置NFS服务
=======================
2,配置NFS,使得某一个你指定的目录,成为NFS网络分区,以供其他主机挂载
sudovi/etc/exports
添加如下信息:
/opt*(rw,sync,no_subtree_check)
其中:
/opt就是你要对外给别人挂载的目录,可以修改为其他目录
*代表所有IP,即任何人都可以挂载这个目录
(rw,sync,no_subtree_check)这一堆是挂载分区的属性,照抄即可。
3,重新加载该配置文件:
sudo/etc/init.d/nfs-kernel-serverreload
4,重新启动NFS服务:
sudo/etc/init.d/nfs-kernel-serverrestart
5,查看已经提供NFS挂载的目录:
showmount-e
开发板配置
[root@GEC210/]#vi/etc/profile
找到
#sourceupiot.sh注释
在下一行写ip设置
ifconfigeth0192.168.1.x(自己PC机的IP地址+160)
保存退出
开发板挂载
1.检查网线
2.看是否ping通
3.看服务器是否配置好
配置pc端(linux虚拟机)
sudovim/etc/network/interfases如下注释
autolo
ifaceloinetloopback
autoeth0
#ifaceeth0inetstatic
#address192.168.1.5(自己PC的IP+80)
#gateway192.168.1.1
#netmask255.255.255.0
重启网络管理器
sudoservicenetwork-managerrestart
重启网络服务:
sudo/etc/init.d/networkingforce-reload
==>重新加载配置文件
sudo/etc/init.d/networkingrestart
在开发板端
1.配置IP
ifconfigeth0192.168.1.8
2.配置网关
routeadddefaultgw192.168.1.1
3.挂载
mount-onolock192.168.1.9:
/opt/mnt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验11 QT程序设计及烧写 实验 11 QT 程序设计