简单介绍

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

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)

QT_编程基础的更多相关文章

  1. 第二章 Matlab面向对象编程基础

    DeepLab是一款基于Matlab面向对象编程的深度学习工具箱,所以了解Matlab面向对象编程的特点是必要的.笔者在做Matlab面向对象编程的时候发现无论是互联网上还是书店里卖的各式Matlab ...

  2. [.net 面向对象编程基础] (1) 开篇

    [.net 面向对象编程基础] (1)开篇 使用.net进行面向对象编程也有好长一段时间了,整天都忙于赶项目,完成项目任务之中.最近偶有闲暇,看了项目组中的同学写的代码,感慨颇深.感觉除了定义个类,就 ...

  3. Android开发4: Notification编程基础、Broadcast的使用及其静态注册、动态注册方式

    前言 啦啦啦~(博主每次开篇都要卖个萌,大家是不是都厌倦了呢~) 本篇博文希望帮助大家掌握 Broadcast 编程基础,实现动态注册 Broadcast 和静态注册 Broadcast 的方式以及学 ...

  4. T-Sql编程基础

    T-sql编程 入门小游戏 T-sql编程基础,包括声明变量,if判断,while循环,以及使用一些基本函数. 记得在学校的时候,写过一个二人对打的文字输出游戏. 上代码 alter proc usp ...

  5. [Java入门笔记] 面向对象编程基础(二):方法详解

    什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...

  6. 如何夯实(Java)编程基础,并深入学习和提高

    如何夯实(Java)编程基础,并深入学习和提高? 240赞同反对,不会显示你的姓名 匿名用户 240 人赞同 多学习...网上自学的学习网站很多,见以下榜单~一.汇总榜单: 公开课_学习网站导航 收录 ...

  7. Web编程基础--HTML、CSS、JavaScript 学习之课程作业“仿360极速浏览器新标签页”

    Web编程基础--HTML.CSS.JavaScript 学习之课程作业"仿360极速浏览器新标签页" 背景: 作为一个中专网站建设出身,之前总是做静态的HTML+CSS+DIV没 ...

  8. LINQ to XML 编程基础

    1.LINQ to XML类 以下的代码演示了如何使用LINQ to XML来快速创建一个xml: 隐藏行号 复制代码 ?创建 XML public static void CreateDocumen ...

  9. [.net 面向对象编程基础] (2) 关于面向对象编程

    [.net 面向对象编程基础]  (2)  关于面向对象编程 首先是,面向对象编程英文 Object-Oriented Programming 简称 OOP 通俗来说,就是 针对对象编程的意思 那么问 ...

随机推荐

  1. How to check for and disable Java in OS X

    Java used to be deeply embedded in OS X, but in recent versions of the OS it's an optional install. ...

  2. SQLLoader8(加载的数据中有换行符处理方法)

    SQLLDR加载的数据中有换行符处理方法1.创建测试表: CREATE TABLE MANAGER( MGRNO NUMBER, MNAME ), JOB ), REMARK ) ); 2.创建控制文 ...

  3. Flashback Query(函数示例)

    Flashback Query 函数,存储过程,包,触发器等对象Flashback Drop 可以闪回与表相关联的对象, 如果是其他的对象,比如function,procedure,trigger等. ...

  4. Code Complete阅读笔记(三)

    2015-05-26   628   Code-Tuning Techniques    ——Even though a particular technique generally represen ...

  5. $(document).ready(function(){})和window.onload=function(){}的比较

    这两个函数想必每个前端开发者都不会很陌生,但是很了解用法的人估计就比较少了,博主也是最近才开始注意到这两个函数的区别. 首先$(document).ready(function(){})等同于$(). ...

  6. zoj Grouping(强连通+缩点+关键路径)

    题意: 给你N个人,M条年龄大小的关系,现在打算把这些人分成不同的集合,使得每个集合的任意两个人之间的年龄是不可比的.问你最小的集合数是多少? 分析: 首先,假设有一个环,那么这个环中的任意两个点之间 ...

  7. H面试程序(1)编写一个函数,要求输入年月日时分秒,输出该年月日时分秒的 下一秒

    编写一个函数,要求输入年月日时分秒,输出该年月日时分秒的下一秒. 如输入 2004 年 12 月 31 日 23 时 59 分 59 秒,则输出 2005年 1 月 1 日 0 时 0 分 0 秒. ...

  8. js post传值

    一种是ajax传值,另一种是post传值, ajax传值: $.ajax({ url: "AjaxTxt/Fild.ashx?Name=duibi&dates=" suzk ...

  9. WPF下YUV播放的D3D解决方案

    http://blog.csdn.net/yangyy9611/article/details/17464133

  10. tp中u方法的使用

    自学的时候都没怎么使用过该方法,现在刚进入一个新公司参加项目.发现这个方法用的很多,所以记录下来防止以后忘了. U方法用于完成对URL地址的组装,特点在于可以自动根据当前的URL模式和设置生成对应的U ...