当前位置:网站首页>嵌入式实验四
嵌入式实验四
2022-08-03 05:21:00 【物腐虫生】
用实验室电脑做!
用实验室电脑做!
用实验室电脑做!
下面进入正题。对于想用自己电脑虚拟机实验的,我用5小时左右的类库补充与qmake致命打击。最后报废一台虚拟机的经验,最后劝你一句,用学校实验室的电脑吧,用户名root,密码请私信问我。
再插一句废话,实验室电脑与老师给的材料所用虚拟机版本一致,且已安装好类库。
5.1 QT安装
步骤【参看相关文件qt实验步骤】:
第一步,将qt-sdk-linux-x86-opensource-2010.05.1.bin拷贝到ubuntu虚拟机/opt目录下,切换到命令行模式下,执行安装,命令为
chmod 777 qt-sdk-linux-x86-opensource-2010.05.1.bin
./qt-sdk-linux-x86-opensource-2010.05.1.bin

当你看到这个界面时候,首先肯定你是32位的unbuntu系统(64位是命令行输入后续指令进行安装的),照着文档一步步来安装就行。
第二步,修改/etc/profile文件,
gedit /etc/profile
在文件末尾添加如下信息:
QTDIR=/opt/qtsdk-2010.05/qt
PATH=$QTDIR/bin:$PATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QTDIR PATH LD_LIBRARY_PATH
第三步,执行 source /etc/profile命令,使修改过的profile文件立即生效。
这时候你可以使用qmake -v查看qt版本及在qmake中认为qt安装的路径了!
source /etc/profile
qmake -v

如果你的qmake输出的Qt路径是一串非常长且奇怪的路径(你根本找不到这个路径/home下的后一个文件夹),那你一定是用了自己的虚拟机做了,不要问我怎么知道的。现在回头还来得及。
上面这个图就是输出了错误路径,
然后,他不影响你Qt Creater的打开!!!
只有到了最后一步运行时候才会报错qmake无效!
5.2 使用Qt Creator创建Qt4程序
步骤【参看Mini6410 Qt4和Qtopia编程开发指南.pdf文档4.2.2节】:
第一步:新建Qt Gui Project,点击“File”菜单,再选择“New File or Project”,在弹出的New对话框中,在左边的分类中选择___Qt C++ Project,在右边的项目类型中选择____Qt Gui Application,最后点击左下角的Choose…按钮。在弹出的Instroduction and project location对话框中,在Name输入框中输入项目名为“HelloQt4”,在Create in输入框中输入项目所有目录为“/opt/mini6410”。在对话框中点击Next按钮,将弹出选择Qt Version的对话框,直接点Next,将弹出Class Information对话框中,选择Base class为___QWidget。在接下来的对话框中,一直按Next完成项目向导,完成后进入Qt Creator的主界面,将自动打开designer视图。
第二步:设计程序界面,将窗口的大小改成240*240,以使其可以在3.5存的LCD上也能显示,修改窗口大小的方法是____在右下角的QWidget->geometry中修改Width和Height值为240_________。
接下来在窗口上放置两个按钮(Push Button)、三个单行文本框(Line Edit)和一个文本标签(Label)。修改三个Line Edit文本控件的objectName属性,将他们分别命名为m_x, m_y, m_result。
第三步:编写代码,为“=”按钮添加 clicked 信号处理函数 on_pushButton_clicked()的方法为__在 Design 视图中,右击“=”按钮,选择“Go to slot”,在弹出的 Go to slot 对话框中,选择 clicked(),然后点击“OK”按钮即可为“=”按钮添加 clicked 信号处理函数 on_pushButton_clicked(),界面将定位到“Edit”代码编辑视图,光标将在on_pushButton_clicked()函数内闪烁,我们在函数内部输入“=”按钮的处理代码:
ui->m_result->setText( "" );
if (ui->m_x->text().isEmpty() || ui->m_y->text().isEmpty()) {
return ;
}
bool ok = false;
int x = ui->m_x->text().toInt(&ok);
if (!ok) {
ui->m_x->setText("");
return ;
}
ok = false;
int y = ui->m_y->text().toInt(&ok);
if (!ok) {
ui->m_y->setText("");
return ;
}
ui->m_result->setText( QString::number( x + y ) );
编写完“=”按钮的代码之前,在上图左下方的 Open Documents 子窗口中,选择widget.ui*,界面将切换回界面设计视图(如果未切换,在左边再点击一下 Design 按钮),切换到界面设计视图后,右击“Close”按钮,选择“Go to slot”,在弹出的 Go to slot 对话框中,选择 clicked()然后点击“OK”按钮,界面将定位到“Edit”代码编辑视图,光标将在将在 on_pushButton_2_clicked()函数内闪烁,我们在函数内部输入代码___ close();___。
close();
第四步:在PC编译并运行示例程序,截图运行结果图
边栏推荐
猜你喜欢

用scikit-learn学习谱聚类

一劳永逸解决vs编译器无法使用scanf函数

亲身分享一次 字节跳动 真实面试经历和面试题

Leetcode刷题——128. 最长连续序列

【DC-2靶场渗透】

【DC-4 Range Penetration】

Ansible installation and deployment detailed process, basic operation of configuration inventory

Sqli-labs-master shooting range 1-23 customs clearance detailed tutorial (basic)

BeanFactory和FactoryBean的区别

MySQL EXPLAIN 性能分析工具详解
随机推荐
亲身分享一次 字节跳动 真实面试经历和面试题
【扫雷】多方法超详细 7.28
NotImplementedError: file structure not yet supported
嵌入式-I2C-物理电路图
Sqli-labs-master shooting range 1-23 customs clearance detailed tutorial (basic)
7.15(6)
用C语言来实现五子棋小游戏
Flask,7
【特征选取】计算数据点曲率
当奈飞的NFT忘记了web2的业务安全
动态调整web主题(2) 萃取篇
【命令执行与中间件漏洞】
【数组】arr,&arr,arr+1,&arr+1以及内存单元的占用
Django从入门到放弃三 -- cookie,session,cbv加装饰器,ajax,django中间件,redis缓存等
图的最短路径的核心——松弛技术
【数组排序】+日常
docker mysql 容器中执行mysql脚本文件并解决乱码
【XSS,文件上传,文件包含】
2.ROS通信机制
The result of request.getParameter is on
