Qt修炼手册
文章平均质量分 77
沈子恒
计算机视觉 自然语言处理 推荐系统 架构设计
展开
-
Qt修炼手册1_溢美之词和Designer设计
1.QT是啥?Qt是一个跨平台的C++图形用户界面应用程序框架。它为应用程序开发者提供建立艺术级图形用户界面所需的所有功能。Qt是诺基亚公司的一个产品。 1996年, Qt进入商业领域,已成为全世界范围内数千种成功的应用程序的基础。它也是目前流行的Linux桌面环境KDE 的基础,KDE是Linux发行版的主要一个标准组件。2.熟悉环境:Designer设计1.选择对话原创 2016-11-09 11:26:44 · 855 阅读 · 0 评论 -
Qt的插件机制
1.前言插件是一种遵循一定规范的应用程序接口编写出来的程序。很多软件都有插件,插件有无数种。例如在IE中,安装相关的插件后,WEB浏览器能够直接调用插件程序,用于处理特定类型的文件。2.QT插件APIQt有两种与插件有关的API。一种用来扩展Qt本身的功能,如自定义数据库驱动,图像格式,文本编解码,自定义分格,等等,称为Higher-Level API。另一种用于应原创 2017-09-22 20:48:25 · 3274 阅读 · 0 评论 -
"QString" to "const char*"
char* dcmFilename;dcmFilename=ba.data(); QByteArray ba = filename.toLatin1();原创 2017-04-11 17:36:53 · 1028 阅读 · 0 评论 -
QFileDialog::getOpenFileName
1.函数说明QFileDialog::getOpenFileName 函数含有六个参数QString QFileDialog::getOpenFileName ( QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(), const QString &原创 2017-04-11 17:31:51 · 19963 阅读 · 0 评论 -
Qt修炼手册10_QTableWidget控件使用说明及实践
1.QTableWidget类简介QTableWidget是QT对话框设计中常用的显示数据表格的控件。QTableWidget继承于类QTableView,所以在学习QTableWidget之前可以先看一下QTableView,他们两者的区别是:QTableView可以使用自定义的数据模型来显示内容(意味着使用时先要通过setModel来绑定数据源)QTableWidget原创 2017-03-07 17:55:24 · 1773 阅读 · 0 评论 -
Qt修炼手册9_Ui名字空间及setupUi()原理解读
1.前言用最新的QtCreator选择GUI的应用会产生含有如下文件的工程:1.1 *.pro文件QT += core gui //使用Qt的Core和Gui模块。QT将自己的库函数分为多个模块,最常用的是QtCore, QtGui。如果使用 //其他的模块的话可以添加其他模块。常用的有QtNetwork,QtOpe原创 2017-03-07 16:04:31 · 5567 阅读 · 0 评论 -
Qt修炼手册8_常用的容器类QVector和QList
1.前言Qt提供了非常有用的容器类的迭代器类,用于修改、删除、插入和保存数据。本着学习的角度,重点研究了QVector和QList两个类。QT中,具有STL风格的迭代器具有两种数据类型,分别是只读访问模式和读写访问模式。具体见下表:STL风格的迭代器的运行方式是在数组中使用指针。例如,++运算符,*运算符用于返回迭代器的项。2.QList类、QLinkedList类原创 2017-03-06 20:32:34 · 1352 阅读 · 0 评论 -
Qt修炼手册12_线程同步与线程等待条件
1.同步线程:何为同步?参考百度百科:1.1 线程线程是进程中的一个实体,是被系统独立调度和分配的基本单位。一个进程可以有多个线程,一个线程必须有一个父进程,线程自己不拥有系统资源,只有运行必须的一些数据结构,但它可以与同属一个进程的其他线程共享进程所拥有的全部资源,一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行。1.2 多线程由于线程之间的相原创 2017-03-09 15:29:54 · 5567 阅读 · 1 评论 -
Qt修炼手册11_多线程编程和QThread类
1.事件循环学习QT多线程编程之前,有必要先熟悉事件循环的概念。先看一个单线程界面程序的主函数代码:int main(int argc, char* argv[]){ QApplication app(argc, argv); // 构造主窗口对象并显示 MainWindow w; w.show(); // 进入事件循环 return app.exe原创 2017-03-09 10:01:25 · 3984 阅读 · 1 评论 -
Qt修炼手册5_文件输入输出
Qt使用QFile类输入和输出文件。 QFile通过I/0设备读写二进制文作、 文本文件和资源文内容。Qt还提供QTextStream和QDataStream类, 它们能通过数据流有效读写数据。 换言之, 这两个类不直接将数掘记录到文件, 而是通过更为简単的管道等界面读写数据 。1.QIODevice类的枚举类型QFile类继承自QFileDevice类。QFileDivice原创 2017-02-25 17:22:22 · 1718 阅读 · 0 评论 -
Qt修炼手册4_信号与槽
1.前言为了处理个体间的通信事件,Qt提供了信号与槽。信号与槽不仅可以处理GUI上发生的事件,也可以实现个体间的数据通信。值得深入把握。2.信号与槽信号与槽是一种用于对象间通信的机制。为了用户在GUI程序点击按钮控件时可运行指定函数,信号与槽提供可运行指定函数的框架。处理多种用户事件前,信号和槽提供多种回调(Callback)函数。Qt提供的所有控件拥有多种预设信号。例原创 2017-02-25 11:05:05 · 762 阅读 · 0 评论 -
Qt修炼手册7_图形:用户自定义QGraphicsItem
1.前言Qt中提供的Item未必能够满足需要,因此有必要实现自定义的QGraphicsItem对象。与QPushButton一样,如果发生鼠标事件,那么为了更换被点击按钮的图像,可以使用paint实现用户自定义QGraphicsItem。2.一个简单的实验#include #include "MyItem.h"#include #include #define W原创 2017-03-02 21:11:49 · 6287 阅读 · 0 评论 -
Qt修炼手册6_图形:图形视图框架
1.前言主要为了学习可以在GUI上有效显示或管理大量图形对象的API,以及进行显示、扩大、缩小等操作。2.图形视图框架(Graphics View Framework)图形视图框架使用BSP树算法。BSP是一种将空间分为两部分的算法,其原理是通过二叉树形态分析大的地形,以构成节点信息,并参照此信息找出要绘制的对象。使用BSP算法的图形视图可以快速发现图形原创 2017-03-02 11:58:19 · 1039 阅读 · 0 评论 -
Qt修炼手册3_VS建立的Qt工程(或项目)生成pro文件
利用VS2008建立的Qt工程(或项目)要使用Qt Creator开发时,需要生成pro文件。下面介绍该过程。1.右击工程(不是解决方案)名称,点击Create basic .Pro file点击OK:2.点击保存3.工程目录下可以看到生成的pro文件原创 2017-02-21 22:13:20 · 1735 阅读 · 0 评论 -
Qt修炼手册5_图形:使用QPainter类的图形
1.前言QPainter提供的API在GUI或QImage、QOpenGLPaintDevice、QWidget和QPaintDevice显示图形(线、形状、渐变等)、文本、图像。QPainter为了显示图形,利用基于软件的光栅化(raterizer)显示图形,并可以使用OpenGL和OpenGLES的Back_End系统。基于软件的光栅化通过点扫面显示到屏幕。利用QPaint原创 2017-03-01 22:03:50 · 1738 阅读 · 0 评论 -
Qt入门——三个臭皮匠顶个诸葛亮
本篇博客主要介绍如何把基本的C++知识与Qt所提供的功能组合起来创建一些简单的图形户用界面(Graphical User Interface,GUI)应用程序。关键在于理解Qt中的两个重要的概念:其一是“信号与槽”;其二是“布局”。1.从Hello Qt谈起先从一个非常简单的Qt程序开始。一行一行的研究这个程序。#include #include int main(int ar原创 2016-09-18 00:43:02 · 1758 阅读 · 0 评论 -
Qt修炼手册2_动态设计
1.去掉UI功能,直接进行设计头文件:DynamicDialog.h#ifndef DYNAMICDIALOG_H#define DYNAMICDIALOG_H#include #include #include #include class DynamicDialog : public QDialog{ Q_OBJECTpublic: DynamicDi原创 2016-11-09 22:03:57 · 730 阅读 · 0 评论 -
Q_OBJECT宏的作用
The Q_OBJECT macro at the beginning of the class definition is necessary for all classes that define signals or slots只有加入了Q_OBJECT,才能使用QT中的signal和slot机制,而且Q_OBJECT要放在类的最前面1.QT的信号与槽机制介绍1.1 信号与槽原创 2017-09-21 17:55:09 · 12623 阅读 · 0 评论