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 通俗来说,就是 针对对象编程的意思 那么问 ...
随机推荐
- 集合操作出现的ConcurrentModificationException(源码分析)
摘要: 为了保证线程安全,在迭代器迭代的过程中,线程是不能对集合本身进行操作(修改,删除,增加)的,否则会抛出ConcurrentModificationException的异常. 示例: publi ...
- drwtsn32.exe 遇到问题须要关闭。我们对此引起的不便表示抱歉
我的机器老是这样.启动起来就有这个... 那位高手能告诉我这是怎么会事.故障的原因以及解决的办法. 最佳答案 drwtsn32.exe是windows的一项磁盘检查程序,同一时候也是鸡肋程序,最好的办 ...
- 用户向导页面实现左右滑动的ImageSwitcher
当你第一次打开app时刻,通常有使用向导现在演示APK基本功能和用法,该向导是非常重要的,用户可以知道并调整到速度app如何. 实现此使用向导有非常多种方法,比方用ImageSwitcher.View ...
- BOOST 线程完全攻略 - 扩展 - 可被关闭的线程类
本文假设读者已经基本了解boost线程库的使用方法. boost是个开源工程,线程这一块也在不断完善之中,到现在这个阶段,boost::thread仅仅实现了一个完美的技术框架,但是读者在实际使用中会 ...
- Oracle11g x64使用Oracle SQL Developer报错:Unable to find a Java Virtual Machine
原因oracle 11g中安装的Oracle SQL Developer是32位的,而我们现在给他指定的java.exe却是64位的,所以会出现这种错误.解决方法1)从网上下载Oracle SQL D ...
- git学习笔记(五)
---恢复内容开始--- 嗯 今天又看到一个非常不错的入门git教程 Mark一下 阮一峰Git操作详解 主要讲解了五个常用的git命令 git clone git remote git fetch ...
- [转]CENTOS6 VNCSERVER安装
标签:vncservercentos6.0 ssh隧道 vncviewer centos 休闲 职场 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律 ...
- web跳转到自己的app
做个笔记 原文:http://blog.csdn.net/ba_jie/article/details/6884818 iPhone SDK可以把你的App和一个自定义的URL Scheme绑定.该U ...
- C#控制条码打印机 纸张大小,间距,绘制内容(所有条码打印机通用)
其他条码知识 请访问:http://www.ybtiaoma.com ,本文仅供参考,请勿转载,谢谢 using System; using System.Drawing; using System. ...
- 在JS中调用JAVA变量
在JS中调用JAVA变量可以,方法是:var JS变量名 = “<%=JAVA变量名 %>”<%中间写java代码,跟在JSP中一样%>在JAVA中 ,无法调用JS变量