Qt编程之旅
文章平均质量分 78
学习QT编程,结合Qt的帮助文档和示例程序,深入学习Qt的应用程序开发。对每一个Qt模块编程都详细讲解与写出示例程序
chenlong12580
这个作者很懒,什么都没留下…
展开
-
Qt中调用PolarSSL库(一)
最近一直在学习SSL相关的知识,也是先了解理论相关的知识,主要是SSL相关的基本概念和连接建立过程,主要是基于PolarSSL开源库进行学习。学习完了之后就希望能给有所运用,就想用Qt写一个简单的程序,增加对SSL相关概念的把握和对PolarSSL库的运用。当然,最终希望是可以使用Qt做一个比较完善的工具,帮助大家更好的理解和学习SSL相关知识。这都是后话,在第一篇里面,我们就简单用例子展示如何在原创 2014-06-13 22:44:41 · 5272 阅读 · 0 评论 -
Qt中事件分发源代码剖析
Qt中事件分发源代码剖析Qt中事件传递顺序:在一个应该程序中,会进入一个事件循环,接受系统产生的事件,并且进行分发,这些都是在exec中进行的。下面举例说明:1)首先看看下面一段示例代码:int main(int argc, char *argv[]){ QApplication a(argc, argv); MouseEvent w; w.sho原创 2014-05-04 23:48:35 · 7847 阅读 · 2 评论 -
Qt应用程序中设置字体
应用程序中经常需要设置字体,例如office软件或者是其他的编辑器软件等等。这里主要涉及到如下几个概念:字体,字号以及风格(例如:粗体,斜体,下划线等等)。Qt里面也有对应的类。接下来我们主要对这几个类进行详细的说明,最后举例说明它们的应用。1、Qt中相关的类:QFontDatabase、QFont、QFontInfo和QFontMetrics、QFontMetricsF;(1)QFont原创 2014-05-04 00:53:24 · 39971 阅读 · 1 评论 -
Qt中实现启动画面
纵所周之,当一个程序的启动比较耗时的时候,为了不让用户枯燥的等待或者是误以为程序运行异常了,所以我们都会在启动比较耗时的程序中加上启动界面,例如office软件等等。 在Qt中实现启动界面,主要就是使用QSplashScreen类。该类比较简单,这里就不对类本身做过多说明了,主要是以一个例子来说明他的使用方法。1、首先,我们的实现如下:#include #原创 2014-04-14 23:42:00 · 29328 阅读 · 4 评论 -
Qt中的串口编程之二
Qt Serial Port【概述】 Qt Serial Port提供了基本的功能,包括配置,I/O操作,获取和设置RS-232引脚的信号。本模块暂不支持如下特性:*终端的特性,例如回显,控制CR/LF等等*文本模式*配置读操作的超时和延时*当RS-232引脚信号改变的时候跟踪和通知要在自己的应用程序中使用这些类,那么就必须包括如下的声明:#include 要链接本原创 2013-06-01 11:13:43 · 49313 阅读 · 10 评论 -
Qt中的串口编程之一
QtSerialPort简介 QtSerialPort模块是Qt5库的附加部分,为硬件和虚拟的串口提供了统一的接口。注意:该模块也增加了对Qt4的支持。 串口由于其简单和可靠,目前在像嵌入式系统,机器人等工业中依旧用得很多。使用QtSerialPort模块,开发者可以大大缩短开发串口相关的应用程序的周期。使用QtSerialPort模块最初是来源于第三方库原创 2013-05-26 14:39:12 · 49010 阅读 · 4 评论 -
QAction系列详解
QAction系列详解一、QAction类详解【详细描述】 QAction类提供了抽象的用户界面action,这些action可以被放置在窗口部件中。 应用程序可以通过菜单,工具栏按钮以及键盘快捷键来调用通用的命令。由于用户期望每个命令都能以相同的方式执行,而不管命令所使用的用户界面,这个时候使用action来表示这些命令就显得十分有用。原创 2013-05-05 22:06:05 · 49909 阅读 · 2 评论 -
Qt应用程序之Application Main Window详解
Qt应用程序之Application Main Window详解【主窗口类概览】 下面的类提供了创建典型现代主窗口应用程序的所有事物,例如:主窗口自身,菜单以及工具栏,状态栏等等。【主窗口类】 Qt 提供了下面的类用于管理主窗口以及与用户界面关联的组件: *QmainWindow是构建应用程序主要的类。与接下来的QDockWidget和QT原创 2013-04-24 23:22:25 · 7136 阅读 · 1 评论 -
Qt UI Interfaces
Qt中的用户界面 Qt可以使用多种技术来创建用户界面。我们也可以根据需要混合使用不同的技术,在一些特定的场景下一些技术就会比其他的技术更适合,所有方法各有所长。QrCreator就是混合使用多种技术的一个示例。实际上,它使用了传统的QtWidgets,例如菜单和对话框等;QtQuick则作为欢迎界面,QtWebKit则用于呈现Qt相关的文档。下面的内容将简要介绍这几种用于创建用户翻译 2013-04-20 21:43:40 · 2580 阅读 · 0 评论 -
解读QML之四
解读QML之四QML对象属性 每一个QML对象类型都定义了一系列属性。每创建一个该对象类型的实例,该实例的这些属性也自动被创建了。接下来我们讨论几种不同类型的属性。id属性 每一个QML对象类型都有一个唯一确定的id属性。这个属性是由QML语言自身提供的,并且在QML对象类型中不能被重定义和重载。 我们必须为id属性指定一个值允许原创 2013-03-08 23:49:49 · 24331 阅读 · 0 评论 -
解读QML之三
QML语法1.QML基本语法1.1导入声明 导入声明允许客户端告诉QML引擎可以在QML文档中使用哪些模块,JavaScript资源以及组件目录。文档中可以使用的类型依赖于在文档中导入的模块、资源以及目录。导入类型 总共有三种类型的导入。对于每一种导入类型在语法上都有细微的差别,并且不同的导入类型有着不同的语义。*模块(命名空间)的导入原创 2013-02-28 23:31:22 · 13760 阅读 · 1 评论 -
解读QML之二
QML文档 QML文档是用QML语法组成的字符串。一个文档定义了一个QML对象类型。文档以”.qml”最为后缀,可以保存在本地和网络上,可以使用代码生成。一个在文档中定义的对象类型的实例,也可以使用Component在QML代码中创建,或者是在C++中使用QQmlComponent创建。一旦某一个对象类型明确的在QML对象系统中使用特定的名称注册了,那么该类型就可以在其它的文档中原创 2013-02-28 22:52:34 · 6822 阅读 · 0 评论 -
解读QML之一
解读QML之一 Qt QML模块提供了用于实现QML框架的C++类。客户端可以使用这些类与QML运行时交互(例如:数据注入或调用对象的方法),并从QML文件实例化一个对象的层次结构。Qt QML模块提供了许多的C++类,而并非仅仅是列在下面的类。然而列在下面的类提供了QML运行时的基础和QML的核心概念。QML运行时 一个典型的QML应用程序有一个原创 2013-02-20 22:33:40 · 14521 阅读 · 3 评论 -
漫谈QML
漫谈 QML/Qt Quick QML是从Qt 4.7开始引入的,QML是一种声明语言,使得可以像设计师思考的一样编码,并且Qt Quick元素就是应用程序的编译单元,每一帧的故事板被声明为元素树中的一个分支,每一个视觉方面的分支元素的属性被声明为一帧,每帧之间的过渡可装饰各种动画和特效。 Qt Quick运行时实现了UI并且提供直接访问本地API的功能,并且在适当原创 2013-02-18 22:44:10 · 5289 阅读 · 0 评论 -
Qt 5入门指南之Qt Quick编程示例
Qt 5入门指南之Qt Quick编程示例 使用Qt创建应用程序是十分简单的。考虑到你的使用习惯,我们编写了两套教程来实现两个相似的应用程序,但是使用了不同的方法。在开始之前,请确保你已经下载了QtSDK的商业版本或者开源版本,并且你也已经熟悉了Qt的开发工具。QtSDK提供了QtCreator集成开发环境使得开发Qt的应用程序十分简单。用户界面的选择翻译 2013-02-03 16:24:21 · 53748 阅读 · 6 评论 -
Qt 5简介
Qt 5简介Qt 5概要介绍 在Qt 5这个版本中,Qt Quick成为了Qt的核心。但是Qt 5也继续提供了本地C++强大的功能来完成更好的用户体验,也提供了对OpenGL/OpenGL ES图形加速的完全支持。 Qt 5是自2005年发布的Qt 4.x系列之后的第一个做出大改动的版本。这次的改变主要是使得Qt更加适应未来的需求。原创 2013-01-19 19:40:52 · 29365 阅读 · 4 评论 -
Qwt安装
Qwt安装=======安装=======Qwt使用qmake编译所有的组件和示例。qmake是Qt发布中的一部分。qmake读取工程文件,工程文件包含了如何工程选项和如何编译特定工程的规则。一个工程文件是以"*.pro"结尾的。以"*.pri"结尾的文件都是被工程文件包含的,该文件包含了几个工程文件通用的定义。qwtconfig.pri和qwtbu翻译 2012-07-21 08:07:56 · 15309 阅读 · 2 评论 -
Qt事件处理器和事件过滤器实例
在上一篇中我们了解了Qt中事件处理的方式,也提到了最常用的就是使用事件处理器和事件过滤器这两种方法。在这一篇,我们就来看看事件处理器和事件过滤器是怎么使用的。一、事件处理器使用实例 Qt中针对每一种常见的事件类型都提供了相应的事件处理器,我们如果想捕获某种类型的事件并进行自定义处理,那么只需要实现重写这些事件处理器就行,至于常见的时间类型和对应的事件处理器如下图:原创 2012-07-07 09:45:18 · 16500 阅读 · 5 评论 -
Qt中事件处理的方法
一、Qt中事件处理的方式 1、事件处理模式一 首先是事件源产生事件,最后是事件处理器对这些事件进行处理。然而也许大家会问,Qt中有这么多类的事件,我们怎么样比较简便的处理每个事件呢?设想,如果是每个事件都对应同一个事件处理器,在该事件处理器中对不同的事件进行分类处理,这样的弊端有两点:第一,导致该事件处理器过于臃肿复杂;第二,这样不便于扩展,当系统新增加事件类型或原创 2012-07-05 23:16:13 · 10030 阅读 · 3 评论 -
QEvent类参考
QEvent类参考QEvent类是所有事件类的基类。事件对象包含事件参数。#include 详细介绍 QEvent类是所有事件类的基类。事件对象包含事件参数。 Qt的主事件循环(QCoreApplication::exec())从事件队列中获取本地窗口系统事件,将它们封装进QEvent中,并且将封装好的事件发送给QObjects。翻译 2012-07-03 00:29:13 · 6783 阅读 · 0 评论 -
Qt网络编程之二
使用QUdpSocket进行UDP编程 UDP(用户数据报协议)是一个轻量级的,不可靠的,面向数据报的,无连接协议。当可靠性不是很重要的时候就可以使用该协议。例如:一个用于报告时间的服务器可以使用UDP。如果包含时间的数据报丢失了,那么客户端只需发出另外一个请求。 QUdpSocket类允许你发送和接收UDP数据报。它继承自QAbstractSocket,因翻译 2012-04-06 23:23:32 · 20165 阅读 · 0 评论 -
Qt网络编程之一
网络编程目录*Qt中有关网络编程的类*HTTP和FTP高层网络操作*使用QTcpSocket和QTcpServer进行TCP编程*使用QUdpSocket进行UDP编程*使用QHostInfo解析主机名*对于网络代理的支持*Bearer Management Support网络编程 QtNetwork模块提供了我们实现TCP/IP客户端翻译 2012-04-06 13:11:39 · 31268 阅读 · 3 评论 -
Qt 出现“undefined reference to `vtable for”原因总结
由于Qt本身实现的机制所限,我们在使用Qt制作某些软件程序的时候,会遇到各种各样这样那样的问题,而且很多是很难,或者根本找不到原因的,即使解决了问题,如果有人问你为什么,你只能回答--不知道。 今天我在这里列举的问题也是再编写Qt程序时,总是遇到的问题,问题普遍,而答案却不唯一,解释这一个问题的说法很多,往往只适合某一种情况,因为这个错误太笼统了,它就是-- “unde转载 2012-04-06 10:07:48 · 66543 阅读 · 5 评论 -
解析Qt自带的Style示例
在之前的QStyle类参考一文中我们介绍到实现自定义样式有两种方法:静态方法和动态方法。我们先介绍静态方法:也就是继承已经存在的类,不是QStyle,通常是QCommonStyle或者是QWindowsStyle等等。然后实现其中的虚函数,重写自己需要修改的部分代码。至于选择哪个基类来继承完全取决用户,通常选择和自己所期望的最相近的类来继承。这里贴一个图,主要是继承层次的图:原创 2012-04-05 22:16:45 · 14951 阅读 · 3 评论 -
QStyleFactory类参考
QStyleFactory类参考QStyleFactory类创建QStyle对象。#include 静态公有成员QStyle* create(const QString & key)QStringList keys()详细描述 QStyleFactory类创建QStyle对象。 QStyle是一个抽象基类,封装了GUI的外观感觉。原创 2012-04-05 15:28:13 · 10079 阅读 · 0 评论 -
QStyle类参考
QStyle类参考QStyle类是一个封装了GUI外观感觉的抽象基类。使用中:#include 继承自QObject。被QCommonStyle继承。详细描述 QStyle类是封装了GUI外观感觉的抽象基类。 Qt包含了一系列QStyle的子类,枚举了Qt支持不同平台的样式(例如:QWindowsStyle,QMacStyle,QMo翻译 2012-04-05 15:20:05 · 16890 阅读 · 0 评论 -
关于QTableView和QTableWidget设置代理的相关问题
一、前言 最近在弄Qt得模型视图编程,起源于手头的一个项目,需要做数据库方面的内容,决定用QTableView作为视图来显示。目前已经能够正常显示数据库中的数据,但是希望在QTableView的第一列显示一个QCheckBox,让用户选择是否显示这条记录,也即最后要实现的效果为: 在网上查了一些资料,主要是一些论坛的帖子,包括在CSDN也提问了,都说Qt不原创 2012-03-30 09:34:46 · 9488 阅读 · 3 评论 -
Qt网络编程之实例二POST方式
上一篇文章主要介绍了Qt网络编程的GET方式,这里再说一下POST方式。首先说一下自己的环境: 主机:Win7;Web服务器:TomCat v7.x;数据库服务器:MySQL v5.x。 主要是用Qt实现登录验证,后台使用servlet响应登录请求,查询后台数据库,是否为合法用户。相信大家明白了吧!我实现的就是客户端发出请求,服务器端在数据库中进行查询,如果查找原创 2012-03-26 09:12:47 · 20643 阅读 · 4 评论 -
关于QHttp
Qt提供了一个QHttp类用于构建Http客户端程序。但是最新的Qt版本已经不建议使用这些类了!这是需要注意:QHttpQHttp no longer inherits from QNetworkProtocol. See the See the section on QNetworkProtocol for details.The old QHttp, QHttpHead原创 2012-03-25 21:33:58 · 5134 阅读 · 0 评论 -
Qt网络编程之实例一GET方式
看了两天的Qt网络编程,其实主要就是看了看QNetworkAccessManager、QNetworkRequest和QNetworkReply这三个类的主要内容。在之前,Qt网络编程主要是使用QHttp等类,但是现在在帮助手册中这些类已经标记为过时的,所以,现在用Qt编写网络程序最好还是使用上面的三个类,之前也说过,对于一个应用程序来说,一个QNetworkAccessManager已经足够了。原创 2012-03-25 20:27:12 · 14963 阅读 · 4 评论 -
Qt网络编程之QNetworkReply
Qt网络编程之QNetworkReply注意:这个类中的所有函数都是可重入的。这个类是从Qt4.4引入的。详细描述: QNetworkReply 类包含了发送给QNetworkManager的数据和首部。QNetworkReply类包含了发送给QNetworkAccessManager请求的所有应答数据。和QNetworkRequest类似,这些数据包含了翻译 2012-03-25 19:52:10 · 32550 阅读 · 1 评论 -
Qt网络编程之QNetworkRequest
这个类是从Qt4.4开始引入进来的。 QNetworkRequest ( const QUrl & url = QUrl() ) QNetworkRequest ( const QNetworkRequest & other ) ~QNetworkRequest ()QVariant attribute ( Attribute c翻译 2012-03-25 18:55:00 · 22165 阅读 · 1 评论 -
Qt网络编程之QNetworkAccessManager
注意:这个类的所有函数都是可重入的。 这个类是从Qt4.4引入的。详细描述 QNetworkAccessManager类允许应用程序发送网络请求和接收网络应答。 Network Access API都是围绕着一个QNetworkAccessManager对象构造的,这个对象包含着发送请求的一些通用配置和设置。它包含着代理和缓存的配置,以及和这些事物相翻译 2012-03-25 02:14:23 · 49145 阅读 · 7 评论 -
Windows平台下编译Qt的MySQL数据库驱动
先吐个槽,弄了将近一天的时间才弄好,其实大概在一年之前弄个,不过当时没记录下来,导致现在又得再做一遍,可见博客是多么的重要啊!花了这么多时间主要是因为想从源码编译,大家都知道,编译一个Qt源码真心不容易啊,好久不能关电脑!!!好了,吐完了,说正事! 最近最项目,选择了Qt和MySQL组合。之前一直在linux下做事,可惜这次要求环境是Windows,所以得重新搭建环境。首先安装Q原创 2012-03-25 00:50:11 · 5111 阅读 · 3 评论 -
为Qt生成的可执行程序设置图标
用Qt Creator编译后生成的可执行程序都是系统默认可执行程序的图标,很难看,如果想自己设置自定义图标该怎么做呢? 首先想到的就是看官方文档,Qt有比较完善的文档,而且检索和浏览的方式十分的简单,记得以前的QtSDK版本安装完成之后总是可以在开始菜单栏中找到assistant这个程序,打开就可以浏览了。然而最新版本安装后没有这个。。。所以只能进入安装目录下打开这个程序,但是发现原创 2012-03-24 10:51:49 · 31232 阅读 · 2 评论 -
qwt移植到s3c6410
昨天在一群里有一哥们问到关于qwt移植的问题,我就自己动手做了一下,发现还是比较容易的,示例程序也编译通过了,现在将移植的过程记录一下。 首先要说明一点的是在这之前,我的Qt-4.7.3已经移植成功了,这里做的就是移植qwt并且在板子上测试示例程序。 第一步:下载最新的qwt源码,主页是http://qwt.sourceforge.net/,我下载的是qwt-6.0.1.t原创 2012-02-17 10:00:54 · 4956 阅读 · 17 评论