Qt4读书笔记2
来源:互联网 发布:汽车电路图软件 编辑:程序博客网 时间:2024/05/19 20:47
第一章 GettingStarted
Hello Qt – 一个简单的程序
#include<QApplication>
#include <QLabel>
int main(int argc, char*argv[])
{
QApplication app(argc, argv);
QLabel *label = new QLabel("Hello Qt!");
label->show();
return app.exec();
}
QApplication类负责管理应用层的资源,argc,argv作为参数使得Qt支持一些命令行参数;
QLabel widget 用于显示"Hello Qt!". widget术语来自Unix,类似于windows的控件。按钮(Buttons),菜单(menus),滚动条(scroll bars)和主界面(frames)都是widget的例子。widget还可以包含其他widgets.例如一个application window一般包括一个QMenuBar,一些QToolBars,一个QStatusBar,和其他一些widget.许多应用使用QMainWindow或者QDialog作为application window, 但是Qt是如此灵活以至于任何widget都可以是一个window.在这个例子中,QLabel widget就是一个application window.
label->show();
使label变成可见的。控件(widgets)创建是是隐藏的,所以我们在显示前需要使其变成可见的,这样可以避免闪烁
return app.exec();
把控制交给Qt.从这一点,程序进入事件循环(event loop,类似windows的机制).循环接收用户的鼠标和键盘事件,并执行相应的程序。GUI应用与传统的批处理程序不同,批处理只是处理输入、产生输出,并自动终止。
为了简单,我们不操心调用deleteQLabel来释放内存。这个小的内存泄露是无害的,因为操作系统在程序终止时会回收内存。
要使这个程序运行,必须获取并安装 Qt4,安装步骤:
-------------------------------------------------------------------------------------------
首先从网上获取Qt的最新版本:
http://www.trolltech.com/download/
1. Lecensing注意
包括两个形式:开源和商用
2.安装Qt/Windows
当前的版本是qt-win-opensource-4.3.2-mingw.exe(2009.01.22当前最新为4.4.3版本).下载并运行这个文件。
当安装的MinGW时,如果你已经有MinGW C++ compiler,你必须指出其目录。否则,按照MinGW. GLP Version的Qt不能在VC下工作,所以必须安装MinGW.Qt's的例子会自动安装,并有相关文档。
安装完成后,你将有一个新的应用Qt by TrollteckV4.3.2(OpenSource).这个文件夹包括Qt Assistant和Qt Designer 和一个Qt 4.3.2的命令行,启动一个控制台窗口。启动这个窗口将配置Qt的编译环境。在这个窗口中可以运行qmake和make来构建Qt应用。
-------------------------------------------------------------------------------------------
将bin目录增加到PATH
然后编译程序:examples/chap01/hello/hello.cpp
qmake -project
如果想创建平台独立的工程
qmake hello.pro
编译:
make
运行:
hello
-------------------------------------------------------------------------------------------
Qmake的使用
使用build工具构建Qt应用是一个及其简单的事情。有三个选项:qmake, 第三方build tool, IDE
本书将使用qmakeproject(.pro)文件来构建例子和插件。我们来研究一下.pro文件的语法。
.pro文件的目的是列出工程中包含的源文件。
工程文件中的三个主要类型是app(独立应用),lib(静态或者共享库),subdirs(递归构建),通过TEMPLATE来确定:
TEMPLATE = lib
如果是subdirstemplate,只需定义TEMPLATE= subdirs.在每个子目录,qmake会寻找.pro文件并构建工程。例如examples.pro文件使用的就是subdirs templates.
如果没有出现TEMPLATE,默认是app.对于app和lib工程,常用的变量包括:
--HEADERS: 标识.h文件
--SOURCES: 表示.cpp文件
--FORMS:表示 Qt Designer使用的.ui文件,被uic处理
--RESOURCES: 表示.qrc文件,被rcc处理
--DEFINES:C++预处理符号
--INCLUDEPATH: 工程的include目录
--LIBS:工程的链接库
--CONFIG: 工程配置和编译选项
--QT: 工程使用的Qt模块。缺省包括了coregui,对应QtCore和QtGui模块
--VERSION:目标库的版本
--TARGET: 可执行文件(或lib)的名字,不包括扩展名,前缀或者版本西南向。缺省在当前目录
--DESTDIR:执行文件放置的目录。缺省的地方是平台不同的,如linux在当前目录,windows在debug/release目录
--DLLDESTDIR:目标libaray文件放置的位置
CONFIG变量用于控制build process,与如下选项:
--debug: 生成的执行文件有debug信息,使用Qt的debug version
--release:生成release版本
--warn_off:尽量少警告
--qt: 使用qt,缺省就是这样
--dll: a shared library被构建
--staticlib: 构建静态library
--plugin: 构建插件,插件必须是dll
--console: 应用需要写console(使用cout,cerr,qWarning()等)
--app_bundle:只Mac OS支持
--lib_bundle:只Mac OS支持
-------------------------------------------------------------------------------------------
- Qt4读书笔记2
- qt4读书笔记--layout mangement
- qt4读书笔记--event processing
- Qt4读书笔记1
- Qt4读书笔记3
- Qt4读书笔记4
- Qt4读书笔记5
- Qt4读书笔记6
- Qt4读书笔记7
- Qt4读书笔记8
- Qt4读书笔记9
- Qt4读书笔记10
- Qt4读书笔记11
- Qt4读书笔记12
- Qt4读书笔记13
- Qt4读书笔记14
- Qt4读书笔记15
- qt4读书笔记--2d和3d graphics
- 运行期的调试输出函数
- 分析中国零售信息化的过去、现在、将来
- Shelley to Elizabeth Hitchhiker 雪莱致伊丽莎白-西琴勒
- 动态切换linux32与linux64系统
- Linux内核中的红黑树
- Qt4读书笔记2
- 全球首个4G商用网络开建:爱立信华为拔得头筹
- lex和yacc
- FFmpeg Understanding(5. How to install GSM lib for FFMPEG?)
- 新年免费送上 DBATools For PL/SQL Developer V1.0.0 正式版
- 网络安全七大误解 你的系统真的安全吗?
- mysql转latin
- flex 结合sandy引擎创作
- 向ACCESS中的"时间/日期"字段中插入DateTime.Now时出现“标准表达式中数据类型不匹配。”错误的解决办法