09计科A23430110陈南博实训一.docx
《09计科A23430110陈南博实训一.docx》由会员分享,可在线阅读,更多相关《09计科A23430110陈南博实训一.docx(24页珍藏版)》请在冰豆网上搜索。
![09计科A23430110陈南博实训一.docx](https://file1.bdocx.com/fileroot1/2023-1/6/8c9555e6-4f2b-45f1-b268-543b3768a2b4/8c9555e6-4f2b-45f1-b268-543b3768a2b41.gif)
09计科A23430110陈南博实训一
上海第二工业大学计算机科学与技术系
学生实训报告
课程名称
嵌入式操作系统课程设计
实训类别
验证型
实训项目名称
QT环境的安装及入门
班级
09计科A2
姓名
陈南博
学号
20113430110
实训时间
2012年10月10日
实训地点
15号楼507
指导教师
崔莉莉
组号
同组学生信息(请填写在下方)
班级
姓名
学号
一、实训内容、结果与分析
实训内容:
1.在WindowsXP中,利用VC6.0环境,安装QT的运行环境;查找资料自主完成在Linux环境下的安装,写出安装步骤。
a.XP下安装过程
1、先在自己的机器上安装vc6.0该软件,有了这个编译环境然后再安装qt
2、然后下载或者找到qt-win-noncommercial-msvc-3.2.1.exe这个安装包。
3、然后就是点击qt-win-noncommercial-msvc-3.2.1.exe来安装,一步一步的,其中要选择vc6.0的安装路径的。
最好就是默认安装路径。
4、安装完了就是进入vc6.0,打开后,选择Tools下的Customize下的Add-insandMacroFiles,然后把QMsDevDeveloperStudio-Add-In勾选上。
这样就会有一个工具条出现,然后就可以使用qt了。
这样XP环境下的qt初步安装完成了。
5、还要对工作的变量进行设置:
1>添加Qt的环境变量:
变量名:
QMAKESPEC
变量值:
win32-msvc
注意,win32-msvc为Qt安装目录下mkspecs目录中的一个同名目录
变量名:
QTDIR
变量值:
c:
\Qt\3.2.1NonCommercial
注意,指向你的机器中Qt的安装目录
变量名:
path
变量值
c:
\Qt\3.2.1NonCommercial\bin;c:
\Qt\3.2.1NonCommercial\lib;c:
\Qt\3.2.1NonCommercial\include
注意,将此变量值追加到path变量的值中,即指向Qt的安装目录及其下的Bin和Lib目录。
2>msvc编译器的环境变量
通常安装好VC++6.0后,环境变量就已经配置好。
如果它的环境变量丢失,可以到VC的安装目录的Bin目录中,
执行VCVARS32.BAT批处理文件即可恢复。
最后说明一点,在WindowsXP中,环境就是分为用户变量与系统变量两部分,
通常放在配置环境变量时,修改用户变量部分的环境变量即可生效,建议注册并重新登录为妥。
6、对一个文件怎么进行编译等工作:
1>我们在D盘根目录下创建一个文件夹test
2>从命令行窗口进入D:
\test目录下。
3>创建一个和平台无关的项目文件test.pro,请输入:
qmake-project
4>根据项目文件test.pro创建一个平台特定的Makefile,请输入:
qmaketest.pro
5>我们使用VC++来编辑源代码,所以再创建一个VC++的项目文件,请输入
qmake-tpvctest.pro
6>启动VC++集成开发环境,用QT工具栏上的打开工程按钮打开test.pro,然后在用VC打开test.dsp,然后编写源代码。
在VC++环境下运行,需要在tools/options/directories中的includefiles、libraryfiles、executablefiles分别添加对应的qt路径。
b.linux下安装过程
首先实现linux下的vmtool文件共享
1、安装客户机系统,linux这里选用CentOS5
2、启动虚拟机中的Linux后,(注意必须是启动虚拟机后)。
选择菜单里的VM选项,里面有一个子项是InstallVMwareTools,选定它。
开始安装。
3、现在,你到VM菜单里的RemovableDevices子项中的CDROM项,点击edit,打开VMWare的安装文件夹,里面是不是有一些*.iso啊,好的,按照前面的步骤,选择linux.iso来作为ISO文件。
VMwareTools所在位置:
VMware安装路径/VMware/VMwareWorkstation/linux.iso
#有时可能加载不了,这时就要先将系统关闭,再手动指定ISO映像
4、下面就是mount加载linux.iso文件。
mount/dev/cdrom/mnt/cdrom
cd/mnt/cdrom
5、到cdrom文件夹里面解压VMware-tools*.tar.gz
cpVMware-tools*.tar.gz/tmp
cd/tmp
tarxzvfVMware-tools*.tar.gz
cdvmware-tools-distrib
在文件夹里面是不是看到了一个vmware-install.pl
OK!
./vmware-install.pl
一直按回车,直到提示安装成功就可以了。
6、VMware-tools已经安装成功了,是不是很简单啊
cd/mnt
是不是看到了一个hgfs文件夹,这就表明安装成功了,下面就要讲一下怎么来设置共享了,这一部分更简单。
记得上面在VM菜单里进行操作了吗?
对!
下面接着要在VM菜单里进行,选择setting子项,再选择Options。
在窗体的左半部分是不是看到了SharedFolders这么一项,如果你以前没有设置过,应该是Disabled。
选择Enableduntilnextpowerofforsuspend,选择Add,选择要与客户Linux进行共享的文件夹。
现在已经完成了所有的工作了,在/mnt/hgfs下你会看到添加的文件夹。
在windows下向指定的sharefolders写文件,在Linux客户机里面就能够看到,同样在Linux上写文件在Windows下也能够看到,并且可以修改。
开始安装QT/X11
为了选择安装QT的目录的权限,用户登录时用root.
1.改变目录到你想要安装QT的目录下,
/cd/usr/local
2.从共享文档中解压
3.设置一些QT用到的环境变量。
使用fingergregory查看shell版本,更改login文件
改完之后source一下
4.使用你喜欢的选项来执行configure工具来构建QT库和它提供的工具:
可以运行./configure–help来得到一个配置选项的列表。
5.敲入make
这样linux下的QT就安装好了,随后一步make非常慢,需要等待半个小时多。
2.完成书本第一部分“入门”中的三个例题hello、quit、age;
a.Hello实验:
#include
#include
intmain(intargc,char*argv[])
{
QApplicationapp(argc,argv);
QLabel*label=newQLabel("HelloQt!
",0);
app.setMainWidget(label);
label->show();
returnapp.exec();
}
修改之后的exe
b.Quit实验
#include
#include
intmain(intargc,char*argv[])
{
QApplicationapp(argc,argv);
QPushButton*button=newQPushButton("Quit",0);
QObject:
:
connect(button,SIGNAL(clicked()),
&app,SLOT(quit()));
app.setMainWidget(button);
button->show();
returnapp.exec();
}
c.Age实验
#include
#include
#include
#include
intmain(intargc,char*argv[])
{
QApplicationapp(argc,argv);
QHBox*hbox=newQHBox(0);
hbox->setCaption("EnterYourAge");
hbox->setMargin(6);
hbox->setSpacing(6);
QSpinBox*spinBox=newQSpinBox(hbox);
QSlider*slider=newQSlider(Qt:
:
Horizontal,hbox);
spinBox->setRange(0,130);
slider->setRange(0,130);
QObject:
:
connect(spinBox,SIGNAL(valueChanged(int)),
slider,SLOT(setValue(int)));
QObject:
:
connect(slider,SIGNAL(valueChanged(int)),
spinBox,SLOT(setValue(int)));
spinBox->setValue(35);
app.setMainWidget(hbox);
hbox->show();
returnapp.exec();
3.编写程序qt_ch101,实现程序界面如下:
单击“Click”按钮,退出程序运行(其中helloqt为1号蓝色字)。
把书上3个例题结合一下就能做出来了。
4.编写程序qt_ch102,实现程序界面如下:
创建一个自己的窗口部件MyWidget,控制这个窗口部件的最小大小和最大大小分别为setMinimumSize(200,120)和setMaximumSize(200,120)。
同样结合书上例题,但是quit按钮不能放在中间。
解决方法在心得体会内写到。
5.编写程序qt_ch103,实现程序界面如下:
初始值为0,左右点击slider控件,lcdnumber控件的值将随之而改变并显示数值。
请补齐程序,并作注释,关键语句有:
#include
#include
#include
#include
#include
#include
classMyWidget:
publicQVBox
{
public:
MyWidget(QWidget*parent=0,constchar*name=0);
};
MyWidget:
:
MyWidget(QWidget*parent,constchar*name)
:
QVBox(parent,name)
{
QLCDNumber*lcd=newQLCDNumber(2,this,"lcd");
QSlider*slider=newQSlider(Horizontal,this,"slider");
slider->setRange(0,9);
slider->setValue(0);
connect(slider,SIGNAL(valueChanged(int)),lcd,SLOT(display(int)));
}
intmain(intargc,char**argv)
{
QApplicationa(argc,argv);
MyWidgetw;
a.setMainWidget(&w);
w.show();
returna.exec();
}
实验结果:
6.编写程序qt_ch104,要求实现中文的显示。
#include
#include
#include
#include
#include
#include
intmain(intargc,char*argv[])
{
QApplicationapp(argc,argv);
QTextCodec:
:
setCodecForTr(QTextCodec:
:
codecForName("gb18030"));//设置QObject的成员函数tr()的编码为简体中文
QFontfont("Times",12,QFont:
:
Normal);
app.setFont(font);
QVBox*vbox=newQVBox(0);
vbox->setCaption(QObject:
:
tr("中文"));
vbox->setMargin(10);
vbox->setSpacing(10);
QLabellabel(vbox);
label.setText(QObject:
:
tr("同一个世界,同一个梦想!
"));
QPushButton*btn=newQPushButton(QObject:
:
tr("关闭"),vbox);
QVBoxLayout*layout=newQVBoxLayout;
layout->addWidget(&label);
layout->addWidget(btn);
QObject:
:
connect(btn,SIGNAL(clicked()),vbox,SLOT(close()));
app.setMainWidget(vbox);
vbox->show();
returnapp.exec();
}
运行结果:
二、实训心得与体会
1.在vc6.0下,会出现如下错误。
可能打开了多个exe,或者未能创建工作空间。
2.安装好qT并修改了环境变量,发现vc的环境变量消失了,提示的.dat批处理文件未能实现功能,需要手工添加变量。
3.安装QT之前必须安装vc6.0,否则会出现错误.
4.qt_ch102一开始未能实现button在中间显示,后来查阅资料使用setGeometry设置空间位置,解决了这个问题。
通过本次实验,我学会了更改环境变量,学会了使用qt的一些函数,还有函数的调用,别且学会使用代码创建控件,并修改。
本门课程感觉老师上课时间比较短,给了我们大量时间自己摸索,但是遇到困难只要静下心来,看书,网上查阅资料就能解决问题,虽然做的不完美,但是努力得来的,就算有bug也很开心。