
Qt
文章平均质量分 70
seven-soft
十几年工作经验,软件破解、软件反编译、网络抓包;精通c、c++、java语言,熟悉eclipse、Microsoft Visual Studio、XCODE 开发环境,精通wince和Android开发。精通嵌入式CPU软件开发。
展开
-
Qt简介
Qt 是一个跨平台的C++应用程序框架,支持Windows、Linux、Mac OS X、Android、iOS、Windows Phone、嵌入式系统等。也就是说,Qt 可以同时支持桌面应用程序开发、嵌入式开发和移动开发,覆盖了现有的所有主流平台。你只需要编写一次代码,发布到不同平台前重新编译即可。Qt 不仅仅是一个GUI库,它除了可以创建漂亮的界面,还有很多其他组件,例如,你不再需要研原创 2016-06-16 17:22:36 · 882 阅读 · 0 评论 -
Qt moc和元对象系统
Qt 不使用标准的C++语言,而是进行了一定程度的扩展,增加了一些新的关键字(例如 signals、slots、emit 等),并实现了反射(内省)机制。我们知道,C++的对象内存模型非常干净,只有成员变量和成员函数,没有保留额外的类型信息,这使得C++非常高效。所谓类型信息,就是对象所属的类、所包含的成员函数和成员变量(以及它们的修饰符)、所在的继承关系等。类型信息用来描述一个对象的各种原创 2016-06-16 17:31:20 · 690 阅读 · 0 评论 -
Qt自定义信号和槽
Qt 本身包含了很多信号和槽,为编程带来了很多方便,但在实际开发中这些是远远不够的,通常需要定义自己的信号和槽。信号和槽是 QObject 类实现的功能,我们必须直接或间接继承该类。自定义槽我们首先增加一个C++类。在项目名称上单击鼠标右键,选择“添加新文件”,弹出如下所示的对话框:在”C++“类别中选择“C++ Class”,点击“Choose”,弹出如下的对话框:原创 2016-06-16 17:30:41 · 676 阅读 · 0 评论 -
Qt信号和槽
GUI 程序除了要绘制控件,还要响应系统和用户事件,例如重绘、绘制完成、点击鼠标、敲击键盘等。当事件发生时,UI 会产生相应的变化,让用户直观地看到。大部分编程(例如Win SDK、Web前端)中使用回调函数来响应事件,而 Qt 却独创了信号和槽机制。所谓回调函数,就是程序员提前定义一个函数,当事件发生时就调用该函数。信号和槽是 Qt 的核心,它让两个互不相干的对象连接起来,当一个原创 2016-06-16 17:29:51 · 395 阅读 · 0 评论 -
Qt窗口之QMainWindow、QDialog、QWidget
在 Qt 中,我们将窗口和控件统称为部件(Widget)。窗口是指程序的整体界面,可以包含标题栏、菜单栏、工具栏、关闭按钮、最小化按钮、最大化按钮等;控件是指按钮、复选框、文本框、表格、进度条等这些组成程序的基本元素。一个程序可以有多个窗口,一个窗口也可以有多个控件。QWidget 是所有用户界面元素的基类,窗口和控件都是直接或间接继承自 QWidget,读者可以下载Qt类继承图(提取密码原创 2016-06-16 17:29:08 · 1330 阅读 · 0 评论 -
分析第一个Qt程序代码
在《使用C++来创建界面》一节中我们创建一个 Qt Widgets 工程,共包含了4个文件,现在请大家把 mainwindow.cpp 和 mainwindow.h 删除,保留主文件 main.cpp 和工程文件即可。把下面的代码复制到 main.cpp:#include #include #include int main(int argc, char *argv[]){原创 2016-06-16 17:28:25 · 2335 阅读 · 0 评论 -
Qt的渲染机制以及控件绘制方式
在《Windows编程》中,我们讲解了如何使用 Windows API 来创建控件,例如按钮、静态文本框、编辑框等,这些控件是 Windows 自带的,已经封装好了,只需要调用 API 即可。Windows 支持的控件非常丰富,可以满足企业级应用程序的开发,Windows 本身也在使用这些控件。但这些控件是和 Windows 主题风格绑定的,比较传统,甚至略显丑陋,不能做出像QQ、3原创 2016-06-16 17:27:32 · 8817 阅读 · 0 评论 -
使用C++还是QML
本质上,Qt 是一个C++类库。在引入 QML 以前,所有的开发都是基于 C++ 的,但到了 Qt 5,QML 和 Qt Quick 成为了 Qt 的核心之一,导致很多读者在犹豫是否还需要学习 C++。使用 QML 开发界面主要有以下几个优点:QML 非常灵活,可以做出非常炫酷的效果,例如 QQ、360、迅雷等都不在话下。QML 是标记语言,见名知意,非常容易编写和阅读,大大提高了原创 2016-06-16 17:26:46 · 1042 阅读 · 0 评论 -
使用QML来创建界面
前面两节介绍了 Qt Widgets Application 工程,可以使用纯C++代码,或C++和XML结合的方式来创建GUI程序。这节来看看如何使用 QML。Qt Quick Application、Qt Quick Controls Application 和 Qt Canvas 3D Application 工程都可以使用 QML 来创建界面。Quick Controls 比原创 2016-06-16 17:26:06 · 2055 阅读 · 0 评论 -
使用Qt Designer
上节我们创建了一个简单的Qt Widgets Application项目,并使用C++代码设计出了简单的界面。这是传统的GUI程序开发方式,只使用C++代码,C++既负责设计界面,也负责处理业务逻辑。界面是用户能够直接看到的,称为“前端”;业务逻辑的处理用户看不到,在背后默默进行,称为“后台”。传统的GUI程序开发不区分前端和后台,统一使用C++代码管理,源文件中既有创建和设置原创 2016-06-16 17:25:07 · 825 阅读 · 0 评论 -
使用C++来创建界面
上节讲到,Qt 支持两种创建界面的方式:一种是使用C++代码,Qt 自诞生以来就支持;另一种是使用 QML,可以创建个性化的界面。Qt 提供了多种工程类型,选择不同的工程类型将导致使用不同的方式来创建界面。本节先讲解C++的使用。首次打开Qt,会出现欢迎界面,点击New Project按钮,或者在菜单栏点击文件,然后选择新建文件或项目,都会弹出向导对话框,如下图所示:原创 2016-06-16 17:24:17 · 8927 阅读 · 0 评论 -
Qt的下载和安装
Qt 的下载和安装都非常简单,可以到官网下载:最新版下载地址为:http://www.qt.io/download-open-source/#section-2老版本下载地址为:http://download.qt.io/archive/qt/Qt 有三种安装方式,可以在线安装,可以下载离线安装包,也可以自己在本地编译源码。简单起见,推荐大家下载离线安装包。Qt 基于C++原创 2016-06-16 17:23:32 · 8020 阅读 · 0 评论 -
Qt按钮控件(Button)
Qt 有6种按钮,它们的类名和说明如下:类名说明QPushButton这是我们最常见的普通按钮,鼠标移入或点击时都会改变颜色。QRadioButton单选按钮。一组名字相同的单选按钮是互斥的,只能有一个被选中。QCheckBox复选框。与单选按钮不同,一组名字相同的单选按钮可以同时选中多个。QToolButton工原创 2016-06-16 17:32:08 · 1484 阅读 · 0 评论