首页 > 代码库 > QT_编程基础

QT_编程基础

简介

       Qt是一个由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程式,也可用于开发非GUI程式,比如控制台工具和服务器。

       Qt是面向对象语言,易于扩展,并且允许组件编程。Qt是一个著名的C++库,使用Qt,在一定程度上让你获得的是一个“一站式”的服务。

  Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件之间的协同工作变得十分简单。Qt包括多达250个以上的C++类,还提供基于模板的 collections, serialization, file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理功能。


QT的安装,Linux系统与window系统不同,具体度娘,可以参考:

http://hi.baidu.com/vnaacoxiqsbvwxq/item/95c73c93656dbedc7a7f010f

http://blog.csdn.net/cuman/article/details/4174456

要注意配置好相关环境变量等。


第一个QT程序

在Red Hat Linux下进行测试:

#include <QApplication>
#include <QWidget>

int main(int argc, char **argv)
{
	QApplication app(argc, argv);

	QWidget win;
	win.resize(400, 300);//设置窗体大小
	win.setVisible(true);//显示窗体

	return app.exec();
}

上面的程序比较简单,显示一个窗体。

编译方式:

在源文件路径的终端中输入:

qmake -project

qmake xxx.pro

make

当然,也可以自定义pro文件,然后直接执行qmake即可生成Makefile文件,然后执行make即可生成目标程序。



在窗体中增加几个控件:

#include <QApplication>
#include <QWidget>
#include <QLineEdit>
#include <QCheckBox>
#include <QLCDNumber>

int main(int argc, char **argv)
{
	QApplication app(argc, argv);
	QWidget win;
	win.resize(400, 300);

	QLineEdit edt(&win);//一个单行文本框
	edt.setText("Hello");//文本的显示内容
	edt.move(150, 75);//设置位置
	edt.resize(80, 30);//设置大小

	QCheckBox chk(&win);//一个复选框
	chk.move(150, 50);
	chk.setText("First");

	QLCDNumber num(&win);//一个数字显示框
	num.move(150, 20);
	num.display(1000);

	win.setVisible(true);

	return app.exec();
}


自定义*.pro文件

TEMPLATE= app——表示应用程序;lib——库
SOURCES= cpp文件 cpp文件 cpp文件(空格分隔)  如SOURCES=main.cpp
= \续行符号
+=
HEADERS= 头文件
CONFIG=影响gcc的选项 
release | debug
warn_on | warn_off -Wall -w
qt | opengl
shared|static 
QT= 该变量在CONFIG=qt才有意义
core
gui
network
opengl
xml
sql
TARGET=输出文件名(-o输出文件)
LIBS=用户指定库
:-l -L
FORMS=指定i文件


本例中写好后保存为xxx.pro  执行qmake  然后make即可。

(:运行qmake显示没有此命令,说明qt没有安装或配置好,如果已经安装,可以直接去安装目录中找,只是比较麻烦,本例中可以不运行qmake而执行/usr/lib/qt4/bin/qmake)