简单介绍

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. python标准库 bisect模块

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #bisect #作用:维护有序列表,而不必在每次向列表增加一个元素 ...

  2. Number of Parallelograms(求平行四边形个数)

    Number of Parallelograms time limit per test 4 seconds memory limit per test 256 megabytes input sta ...

  3. [LeetCode] 034. Search for a Range (Medium) (C++/Java)

    索引:[LeetCode] Leetcode 题解索引 (C++/Java/Python/Sql) Github: https://github.com/illuz/leetcode 035. Sea ...

  4. EffectiveC#01--避免返回内部类对象的引用

    此篇是对00中第3点的再一次阐述. 1.如果一个属性返回一个引用类型,那么调用者就可以访问这个对象的公共成员,也包括修改这些属性的状态. public class MyBusinessObject { ...

  5. mvc 5 的过滤器和webapi 过滤器 对应实现的action过滤器区别

     asp.net webapi  Action过滤器实现这个: #region 程序集 System.Web.Http, Version=5.2.3.0, Culture=neutral, Publi ...

  6. jQuery 事件 - error() 方法

    实例 如果图像不存在,则用一段预定义的文本取代它: $("img").error(function(){ $("img").replaceWith(" ...

  7. Android-------设置TextView同时显示图片和文本,并控制图片大小

    //获取资源图片     Drawable leftDrawable = getResources().getDrawable(R.drawable.comment_parise);     //设置 ...

  8. OD调试3--reverseMe

    OD调试3:reverseMe.exe(reverse就是逆向的意思) 运行效果图: 1关于寄存器 寄存器就好比是CPU身上的口袋,方便CPU随时从里边拿出需要的东西来使用.今天的程序中涉及到九个寄存 ...

  9. stl学习之模板

    模板是实现代码重用机制的一种工具,实质就是实现类型参数化,即把类型定义为参数. C++提供两种模板:函数模板,类模板.   template<typename T> //或者 templa ...

  10. 第一章——第三节 intent的匹配原则

    问题 一.三种匹配原则 二.匹配的原理 三.隐式启动Activity,如何判断跳转的Activity是否存在. 判断Intent是否可行的两种办法.