QT_编程基础
简单介绍
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_编程基础的更多相关文章
- 第二章 Matlab面向对象编程基础
DeepLab是一款基于Matlab面向对象编程的深度学习工具箱,所以了解Matlab面向对象编程的特点是必要的.笔者在做Matlab面向对象编程的时候发现无论是互联网上还是书店里卖的各式Matlab ...
- [.net 面向对象编程基础] (1) 开篇
[.net 面向对象编程基础] (1)开篇 使用.net进行面向对象编程也有好长一段时间了,整天都忙于赶项目,完成项目任务之中.最近偶有闲暇,看了项目组中的同学写的代码,感慨颇深.感觉除了定义个类,就 ...
- Android开发4: Notification编程基础、Broadcast的使用及其静态注册、动态注册方式
前言 啦啦啦~(博主每次开篇都要卖个萌,大家是不是都厌倦了呢~) 本篇博文希望帮助大家掌握 Broadcast 编程基础,实现动态注册 Broadcast 和静态注册 Broadcast 的方式以及学 ...
- T-Sql编程基础
T-sql编程 入门小游戏 T-sql编程基础,包括声明变量,if判断,while循环,以及使用一些基本函数. 记得在学校的时候,写过一个二人对打的文字输出游戏. 上代码 alter proc usp ...
- [Java入门笔记] 面向对象编程基础(二):方法详解
什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...
- 如何夯实(Java)编程基础,并深入学习和提高
如何夯实(Java)编程基础,并深入学习和提高? 240赞同反对,不会显示你的姓名 匿名用户 240 人赞同 多学习...网上自学的学习网站很多,见以下榜单~一.汇总榜单: 公开课_学习网站导航 收录 ...
- Web编程基础--HTML、CSS、JavaScript 学习之课程作业“仿360极速浏览器新标签页”
Web编程基础--HTML.CSS.JavaScript 学习之课程作业"仿360极速浏览器新标签页" 背景: 作为一个中专网站建设出身,之前总是做静态的HTML+CSS+DIV没 ...
- LINQ to XML 编程基础
1.LINQ to XML类 以下的代码演示了如何使用LINQ to XML来快速创建一个xml: 隐藏行号 复制代码 ?创建 XML public static void CreateDocumen ...
- [.net 面向对象编程基础] (2) 关于面向对象编程
[.net 面向对象编程基础] (2) 关于面向对象编程 首先是,面向对象编程英文 Object-Oriented Programming 简称 OOP 通俗来说,就是 针对对象编程的意思 那么问 ...
随机推荐
- python标准库 bisect模块
# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #bisect #作用:维护有序列表,而不必在每次向列表增加一个元素 ...
- Number of Parallelograms(求平行四边形个数)
Number of Parallelograms time limit per test 4 seconds memory limit per test 256 megabytes input sta ...
- [LeetCode] 034. Search for a Range (Medium) (C++/Java)
索引:[LeetCode] Leetcode 题解索引 (C++/Java/Python/Sql) Github: https://github.com/illuz/leetcode 035. Sea ...
- EffectiveC#01--避免返回内部类对象的引用
此篇是对00中第3点的再一次阐述. 1.如果一个属性返回一个引用类型,那么调用者就可以访问这个对象的公共成员,也包括修改这些属性的状态. public class MyBusinessObject { ...
- mvc 5 的过滤器和webapi 过滤器 对应实现的action过滤器区别
asp.net webapi Action过滤器实现这个: #region 程序集 System.Web.Http, Version=5.2.3.0, Culture=neutral, Publi ...
- jQuery 事件 - error() 方法
实例 如果图像不存在,则用一段预定义的文本取代它: $("img").error(function(){ $("img").replaceWith(" ...
- Android-------设置TextView同时显示图片和文本,并控制图片大小
//获取资源图片 Drawable leftDrawable = getResources().getDrawable(R.drawable.comment_parise); //设置 ...
- OD调试3--reverseMe
OD调试3:reverseMe.exe(reverse就是逆向的意思) 运行效果图: 1关于寄存器 寄存器就好比是CPU身上的口袋,方便CPU随时从里边拿出需要的东西来使用.今天的程序中涉及到九个寄存 ...
- stl学习之模板
模板是实现代码重用机制的一种工具,实质就是实现类型参数化,即把类型定义为参数. C++提供两种模板:函数模板,类模板. template<typename T> //或者 templa ...
- 第一章——第三节 intent的匹配原则
问题 一.三种匹配原则 二.匹配的原理 三.隐式启动Activity,如何判断跳转的Activity是否存在. 判断Intent是否可行的两种办法.