基于qt组件库应用程序的生成及其跨平台实现

基于qt组件库应用程序的生成及其跨平台实现

ID:33922537

大小:276.12 KB

页数:5页

时间:2019-02-28

基于qt组件库应用程序的生成及其跨平台实现_第1页
基于qt组件库应用程序的生成及其跨平台实现_第2页
基于qt组件库应用程序的生成及其跨平台实现_第3页
基于qt组件库应用程序的生成及其跨平台实现_第4页
基于qt组件库应用程序的生成及其跨平台实现_第5页
资源描述:

《基于qt组件库应用程序的生成及其跨平台实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、万方数据第37卷第3期2006年6月东北农业大学学报JournalofNortheastAgriiculturalUniversity37(3):373~376。June2006文章编号1005一.9369(2006)03.一-0373-一04基于Qt组件库应用程序的生成及其跨平台实现许德新,谈振藩,高延滨4(哈尔滨工程大学自动化学院,黑龙江哈尔滨150001)摘要:文章介绍了利用Qt组件库开发应用程序时独特的信号和槽机制(Signal/Slots),指明如何在Unix/Lin-ux平台上生成编译文件(makefile

2、),并且阐述了如何实现从Unix/Linux平台到Windows平台的代码移植。关键词:C++;信号和槽;源对象编译器;跨平台中图分类号:TP311文献标识码:AQt是一个多平台的c++图形用户界面应用程序框架。其提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。Qt完全面向对象且很容易扩展,并且允许真正地组件编程。1996年后Qt进入商业领域,它已经成为全世界范围内数千种成功的应用程序的基础。Qt也是流行的Linux桌面环境KDE的基础,KDE是所有主要的Linux发行版的—个标准组件。Qt支持MS—Win

3、dows、Unix/X11、Linux、MacOS、EmbeddedLinux等一系列平台。以往在Unix操作系统上进行图形用户界面(GUI)开发时(如基于c语言的Motif组件库),消息处理的方式为回调函数(callback)。这种方法的弊端在于,窗口组件只能取得回调函数的指针而不能检查回调函数的型别是否与其所认知的相同,这样可能只因为程序员误用了一个参数使程序出现严重的错误。这种方法还有一个致命的缺点,即程序员很难把程序内部的功能跟GUl分开,以后很难在不改变程序内部的前提下改变GUI。Qt组件库采用信号和槽机制(

4、Signal/Slot)避免了上述弊端,但这种独特的机制不为c++所识别,必须由源对象编译器(MOC)进行特殊处理,最后生成特殊的实现文件(moc一术.cpp),编译连接之后便可成功运行。由于Qt是多平台的函数组件库,因此它有强大的跨平台功能,在Unix/Linux平台上开发的代码几乎不加修改便可在Windows上编译运行。收稿日期:2005—12—22作者简介:许德新(1979一),男,湖南人,讲师,博士研究生,主要从事导航、制导与控制方面的教学与科研工作。+通讯作者1如何使用Qt生成应用程序1.1Qt在X—Wind

5、ows下编程1.1.1主窗口程序框架关于Qt的使用可参考Qt目录下的Html目录(大多数版本的Linux都将其安装在/usr/lib/qt目录下),其内容集帮助与教学于一体。一个基本的Windows应用程序由一个主窗口和一组窗口过程组成。X—Windows下的应用程序也是如此。//mainwindow.cpp#include“yesnodialog..h’’#include#includeintmain(iraargc,char术木argv)QApphcat

6、ionapp(argc,argv);//首先,构造一个Application对象。MainWindowmywindow;//构造主窗口,MainWindow是下面将要构造的一个窗口类。app.setMainWidget(&mywindow);//设置应用程序的主窗口。mywindow.setFont{'QFom(‘‘Times”,32,QFont::Bold));//设置显示字体,可在类内实现。mywindow.show0;//显示主窗口。returnapp.execO;//进入窗口过程,即进入消息循环。1.1.2图形

7、界面的构造在Windows环境下我们所熟知的VisualBasic万方数据东北农业大学学报第37卷以及Visualc++都有比较方便的图形界面构造方式,而针对0t也有一个图形界面的所见,即所得工具一QtDesigner。根据这一工具可以任意构造需要的图形界面,而且利用UIC工具将生成的uI文件转换为CPP文件和H文件,使界面软件部分和系统实现软件部分融合到一起。QtDesigner既有Windows系统QtDesigner(任意平台下)Window下MSVC6.0下版本,也有Unix等操作系统下的版本,可以根据需要在任

8、意平台上开发。以往在不同操作系统上开发同样的系统,需要由两个不同开发小组(即Windows程序员小组和Unix程序员小组)进行开发,由于Ot完美的跨平台特陛这项工作由一个项目小组进行即可。具体开发过程实现如图1所示。系统底层实现部分(C语言)*.cpp和}.h文件系统底层实现部分(C语言)MS—VC6.0或者Kdevelop2.4

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。