《9、qt编程.ppt》由会员分享,可在线阅读,更多相关《9、qt编程.ppt(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第八章:QT 编程 Qt是一个多平台的C+图形用户界面应用程序框架。它提供给应用程序开发者建立图形用户界面应用程序所需的所有功能。Qt是完全面向对象的,它很容易扩展,并且允许真正的组件编程,Qt也是流行的Linux桌面环境KDE 的基础。一、一、QtQt的组成:的组成:Qt提供了一组范围相当广泛的C+类库,并包含了几种命令行和图形界面的工具,有效地使用这些工具可以加速开发过程。Qt Designer:Qt设计器。用来可视化地设计应用程序界面。Qt Linguist:Qt语言学家。用来翻译应用程序。以此提供对多种语言的支持。Qmake:使用此工具可以由简单的、与平台无关的工程文件来生成编译所需的
2、Makefile。moc:元对象编译器。uic:用户界面编译器。在程序编译时被自动调用,通过ui_*.h文件生成应用程序界面。二、二、二、二、Qt Qt 的安装:的安装:的安装:的安装:在Windows环境下安装Qt,需要先安装MinGW。再安装Qt,然后更改一下Windows系统的环境变量,就可以在Windows环境下使用Qt了。1)下载Qt源码包到本机,然后解压缩2)进入用户家目录的.bash_profile文件设置Qt环境变量3)解压缩的目录下,执行./configure构建Qt库和工具:4)Qt安装的编译。编译命令:make2、Linux下Qt的安装 1、windows下Qt的安装 三
3、、三、QT QT 编程方式:编程方式:1、代码方式2、基于Qt Designer程序设计一个完整的Qt程序#include#includeint main(int argc,char*argv)QApplication app(argc,argv);QLabel*label=new QLabel(Hello World!,0);app.setMainWidget(label);label-show();return app.exec();qmake project qmakemake QObject是Qt类体系的唯一基类,QApplication和QWidget都是QObject类的子类,QA
4、pplication对于一个应用程序来说,建立此类的对象是必不可少的。QWidget类是所有用户接口对象的基类,按钮(Button)、菜单(menu)、滚动条(scroll bars)和框架(frame)都是窗口部件的例子。窗口部件可以包含其它的窗口部件。例如,一个应用程序界面通常就是一个包含了QMenuBar,一些QToolBar,一个QStatusBar和其它的一些部件的窗口。绝大多数应用程序使用一个QMainWindow或者一个QDialog作为程序界面,但是Qt允许任何窗口部件成为窗口。当窗口部件被创建的时候,它总是隐藏的,必须调用show()来使它可见。#include#includ
5、e int main(int argc,char*argv)QApplication app(argc,argv);QPushButton*button=new QPushButton(“Qui”,0);QObject:connect(button,SIGNAL(clicked(),&app,SLOT(quit();button-show();return app.exec();Qt程序的窗口部件发射信号(signals)来指出一个用户的动作或者是状态的变化。当信号被发射的时候,和信号相连的槽就会自动执行。“信号和槽”机制用于Qt对象间的通讯。二、基于Qt Designer程序设计 Qt也提供
6、了这样一个可视化的界面设计工具:Qt设计器(Qt Designer)。Qt设计器可以用来开发一个应用程序全部或者部分的界面组件,以Qt设计器生成的界面组件最终被变成C+代码。不管我们是使用Qt Designer还是编码来实现一个对话框,都包括以下相同的步骤:1)、创建并初始化子窗口部件。2)、将子窗口部件放置到布局当中。3)、对Tab的顺序进行设置。(可以没有)4)、放置信号和槽的连接。5)、完成对话框的通用槽的功能。6)、编写主函数。(自动生成)7)、编译并执行。例如:例如:tchangevoid cfconvMainForm:convert()double celsius,result=0
7、;celsius=ceshiwendu-text().toDouble();result=(celsius_input*(9.0/5.0)+32.0;huansiwendu-setText(QString:number(result,f,1);ceshiwendu-clear();mkdir acd a/home/fan/qt4/for_pc/qt-x11-opensource-src-4.4.0/bin/designervi main.cpp/home/fan/qt4/for_pc/qt-x11-opensource-src-4.4.0/bin/qmake project/home/fan/
8、qt4/for_pc/qt-x11-opensource-src-4.4.0/bin/qmakemake Qt是一个多平台的C+图形用户界面应用程序框架。它提供给应用程序开发者建立图形用户界面应用程序所需的所有功能。Qt是完全面向对象的,它很容易扩展,并且允许真正的组件编程,Qt也是流行的Linux桌面环境KDE 的基础。Qt/EmbeddedQt/Embedded(简称QtE)是一个专门为嵌入式系统设计图形用户界面的工具包。Qt是挪威Trolltech软件公司的产品,它为各种系统提供图形用户界面的工具包,QtE就是Qt的嵌入式版本。QtopiaTrolltech公司在QtE的基础上开发了一个
9、应用的环境Qtopia,这个应用环境为移动和手持设备开发。其特点就是拥有完全的、美观的GUI,同时它也提供可上百个应用程序用于管理用户信息、办公、娱乐、Internet交流等。已经有很多公司采用了Qtopia来开发他们主流的PDA。Qt/Embedded1、用QtE开发的应用程序要移植到不同平台时,只需要重新编译代码,而不需要对代码进行修改。2、可以随意设置程序界面的外观。3、可以方便地为程序连接数据库。4、可以使程序本地化。5、可以将程序与Java集成。简称QtE,它是一个专门为嵌入式系统设计图形用户界面的工具包。,QtE就是Qt的嵌入式版本。QT/Embedded通过Qt API 与Linux I/O设施直接交互,成为嵌入式linux端口。同Qt/X11相比,QT/Embedded很节省内存,其不需要一个X服务器或是Xlib库,它在底层摈弃了Xlib,采用framebuffer(帧缓冲)作为底层图形接口。同时,将外部输入设备抽象为keyboard和mouse输入事件。QT/Embedded 的应用程序可以直接写内核缓冲帧,这可避免开发者使用繁琐的lib/Server系统。