Qt Eclipse开发环境的部署 下篇
创始人
2024-08-01 02:51:34
0次

本文介绍Qt Eclipse开发环境的部署,接着 Qt Eclipse开发环境的部署 中篇继续介绍,Qt 一个跨平台的C++图形用户界面应用程序框架,和Eclipse***结合应该是很不错的!请看内容。

1, $source /data/opt/qt-4.4.3/setqt4 设置环境变量

export QTDIR=/data/opt/qt-4.4.3 export PATH=$QTDIR/bin:$PATH

export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

2,然后启动eclipse

3, 新建项目。

类型为C++ 下“C++ Project"  => project type = "executable"下"Empty Project"  ,  Toolchains="Linux Gcc" =>点Next =>点"Advanced settings"  => 展开"c/c++ build" -> "settings",在右侧展开"gcc c++ compiler","Directories", 右侧"include pathes" , 浏览添加/data/opt/qt/4.4.3/include;   =>  展开"GCC C++ Linker","Libraries",在Libraries(-l)中添加两次,分别添加QtCore, QtGui ; ==> 在"Library search path"添加/data/opt/qt/4.4.3/lib

4, 新建Source File, 输入代码,就可以正常编译了.

5,可能问题:

(1)如果在进入eclipse前,没有设置环境变量LD_LIBRARY_PATH,则项目能编译,但运行时提示找不到qt的动态链接库而失败。

(2)一般教材上写文件包含是 #include ,但由于上面我们添加的include中只添加了qt下的include这一级目录,没有添加下面的子目录,所以写代码时要自己根据库文件所在子目录,添加所属包名,即变为#include , 否则在编译时会提示找到头文件。

(3)第三步只是演示了如何从一般c/c++项目,通过添加配置而变成支持QT,实际开发过程是,在新建项目时,可以选择QT下的各种QT项目(如Qt Console Project, Qt Gui Class, Qt Gui Project, Qt Resource File),或Qt Designer下的Qt Designer Form项目。这样就不需要自己添加相应include与lib.更方便快捷!

附加篇

QT和eclipse的集成很简单,安装集成包以后设置一下qt的bin目录和include目录即可,CDT中 会新增qt类型的项目。

QT和eclipse的集成以后,***的好处就是可以使用qt带的可视化设计工具,采用的是类似于XUI的做法,很清爽。

和习惯的vs,netbean做法有些区别, 简单记录一下。

1. 每增加一个ui表单或者对话框类会生成如下文件

一个对象类cpp文件,一个对象类头文件

而在每一个对象类中会自动增加一个ui类的声明,可以用此来引用包含的ui元素

  1. Ui::AddDialogClass ui;  

 一个"ui_对象名.h" 格式的头文件 用来保存在designer中增加的元素,  这部分应该不要手工修改。这部分应该向netbean学习,应该设置为只读。

一个对象.ui文件 Form file,文本类型用来描述对象设计布局。双击可以打开设计器。注意:Form file文件必须保存以后才会生成上一个ui头文件.

2. 事件处理, 在一个表单内可以使用宏直接定义,不需要使用connect进行连接

比如在头文件中申明

  1. private slots:   
  2. void on_addButton_clicked();  

则此slots会自动对应到addbutton的 clicked事件,依靠的是名字规范。

在ui头文件中可以找到这样的代码

  1. QMetaObject::connectSlotsByName(AddressBookClass);  

比单纯手写代码简单一些。

3. 事件处理也可以使用edit signal和slot 编辑器来实现可视化的事件关联

方法是拖拽一个对象的引导箭头到另外一对象上,选择要关联的signal。

4. QT中每个项目有一个.pro文件,负责项目内的文件资源汇总管理。在eclipse中新增source文件时要记得将文件加人pro中。可以以可视化的方式进行管理,比较简单。 
  
5. 其他

在编辑状态 用ctrl+拖到可以复制对象,shift多选

layout可以多重嵌套,这和swing不同,不过更好用。 可以选择几个元素以后右键设定这组元素的layout。 元素之间可以用spacer来控制距离,很好用。

 属性编辑器有点***,居然不能ctrl+ v 必须用鼠标右键

整体感觉:

ui布局设计方面比较灵活,比netbean和vs都好用。

事件处理还是稍有点麻烦,不能直接可视化生成,在头文件和cpp文件中手工加代码还是有点不爽。

系统比较稳定。就是编译有点慢。

小结:Qt Eclipse开发环境的部署 下篇内容介绍完了,希望这些内容能够帮助到你。

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
只需三步,让你掌握阿尔法路由器... 请参照以下阿尔法路由器设置方法,通过浏览器进入及设置宽带路由器。经过这三个步骤的设置,基本上能够熟悉...
如何更省钱? 近期特价热门硒鼓... 如今激光打印设备已经成为商务或企业的绝对主力办公设备,但采购者往往忽视了激光打印设备所用的耗材,相对...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...