![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Qt5.14.2内置Examples解析
阿西拜-南昌
腾讯课堂“阿西拜-南昌”
展开
-
QT5.14.2自带Examples:OpenGL Window
概述本示例需要入门级OpenGL基础,推荐教程:https://ke.qq.com/course/package/25480?flowToken=1021922本示例展示了如何创建一个支持OpenGL,并且基于QWindow的简单应用程序。注意:这是一个如何将QWindow与OpenGL结合使用的底层示例。实际开发中,更多使用更高级别的QOpenGLWindow类。实现步骤首先我们需要一个支持OpenGL的窗口类:OpenGLWindow 类类定义#include <QtGui/QW原创 2020-06-25 12:51:41 · 1176 阅读 · 0 评论 -
QT5.14.2自带Examples:Tool Tips
概述实现步骤ShapeItem类ShapeItem类很简单,只是对四个私有成员变量的赋值和取值。类定义#ifndef SHAPEITEM_H#define SHAPEITEM_H#include <QColor>#include <QPainterPath>#include <QPoint>class ShapeItem{public: void setPath(const QPainterPath &path); vo原创 2020-06-23 21:50:12 · 540 阅读 · 0 评论 -
QT5.14.2自带Examples:Simple DOM Model
概述本示例展示显示如何调整现有类,以用于 Model/View 框架。使用:运行程序加载任意一个xml文件。Qt为读取XML文件提供了两组互补的类:基于QXMLRead的类,为大文件的增量读取提供了一种SAX风格的API基于QDomDocument的类,使开发人员能够使用文档对象模型(Document Object Model,DOM)API访问XML文件的内容.在本例中,我们创建了一个模型,该模型使用DOM API通过标准QAbstractModel接口向 QTreeView 公开XM原创 2020-06-20 15:18:17 · 416 阅读 · 0 评论 -
QT5.14.2自带Examples:Diagram Scene
概要本示例演示如何使用 Graphics View 框架创建流程图。可以添加流程图形状和文本,并通过箭头连接形状,如上图所示。形状、箭头和文本可以被赋予不同的颜色,并且可以更改文本的字体、样式和下划线。Qt Graphics View 框架旨在管理和显示自定义的2D图形项。框架的主要类是 QGraphicsItem, QGraphicsScene 和 QGraphicsView。QGraphicsScene 管理 QGraphicsItem 并为它们提供一个平面。QGraphicsView是一个w原创 2020-06-19 16:43:48 · 3969 阅读 · 4 评论 -
QT5.14.2自带Examples:Draggable Icons
概要Draggable Icons 示例演示如何在同一应用程序中的 widget 之间以及不同应用程序之间拖放图像数据。widget内部操作,只是MoveAction拖拽到widget之外(application之内,或之间效果一样),会发生CopyAciton。在本例中,我们使用QLabel创建用作拖拽源的图标,并将它们放在QWidget中,QWidget同时用作拖拽站点。此外,当拖放操作发生时,发送的不仅仅是图像。还需要发送有关用户在图像中单击的位置的信息,以便用户可以将其精确地放置在放置目原创 2020-06-16 12:49:24 · 450 阅读 · 0 评论 -
QT5.14.2自带Examples:2D Painting
概要本示例分别使用native(CPU)方式和OpenGL(GPU)方式绘制同样一个动画。QPainter类用于将二维图原绘制到QPaintDevice子类(如QWidget和QImage)提供的绘制设备上。由于QGLWidget是QWidget的一个子类,因此可以重新实现其paintEvent()并使用QPainter在设备上绘制,就像使用QWidget一样。唯一的区别是,如果系统的OpenGL驱动程序支持,则绘制操作将在硬件中加速。在本例中,我们对QWidget和QGLWidget执行相同的绘制操作原创 2020-06-14 17:32:24 · 502 阅读 · 0 评论 -
QT5.14.2自带Examples:QtConcurrent Progress Dialog
概述执行结果如下:这里使用了多线程同步技术,上图的系统环境使用4个线程。代码#include <QtWidgets>#include <QtConcurrent>#include <functional>using namespace QtConcurrent;//![定义一个函数]//是原版示例中,函数定义在main函数里面std::function<void(int&)> spin = [](int &iter原创 2020-06-10 22:48:36 · 523 阅读 · 0 评论 -
QT5.14.2自带Examples:Local Fortune Server/Client
概述这是两个示例,需要配合使用。可以在本机为两个应用程序建立socket通信。主要是对QLocalServer和QLocalSocket的使用。QLocalServer调用 listen(),让服务器开始监听本地套接字上指定关键字的连接。每次客户端连接到服务器时,都会发出newConnection()信号。调用nextPendingConnection()将挂起的连接接受为已连接的QLocalSocket。该函数返回一个指向QLocalSocket的指针,用于与客户端通信。QLocalS原创 2020-06-08 10:00:05 · 584 阅读 · 0 评论 -
QT5.14.2自带Examples:JSON Save Game
概述JSON的全称是”JavaScript Object Notation”,是一种基于文本,独立于语言的轻量级数据交换格式。类似XML,也是一种数据交换格式,XML虽然可以作为跨平台的数据交换格式,XML标记比数据多,而JSON没有附加的任何标记。默认运行时,会创造一份新的游戏档案,运行效果如下:可以通过命令行参数加载存档文件,运行效果如下(运行时需要在项目选项中设置命令行参数):下面是本示例运行时所产生的save.json文件(进行了一些名子的修改):{ "levels": [原创 2020-06-07 14:59:04 · 492 阅读 · 0 评论 -
QT5.14.2自带Examples:Editable Tree Model
概述本示例展示了如何实现一个简单的基于项的树模型,它可以与model/view框架的其他类一起使用。该模型支持可编辑项、自定义标题以及插入和删除行和列的功能。有了这些特性,还可以插入新的子项。...原创 2020-06-06 16:56:06 · 468 阅读 · 1 评论 -
QT5.14.2自带Examples:Simple Tree Model
功能概述本示例展示了如何将层次模型与Qt的标准视图类一起使用。Qt的model/view体系结构为视图操作数据源中的信息提供了一种标准方法,使用数据的抽象模型来简化和标准化访数据的访问。简单模型将数据表示为表格项,并允许视图通过基于索引的系统访问这些数据。通过允许每个项充当子项表的父项,可以使用模型以树结构的形式表示数据。在尝试实现树模型之前,应该考虑数据是由外部源提供的,还是将在模型本身中维护。设计我们采用一个或多个TreeItem对象组成的树结构作为数据结构。每一个TreeItem表示树视图原创 2020-06-04 21:25:02 · 749 阅读 · 1 评论 -
QT5.14.2自带Examples:Chart Themes
概述本示例展示了,图表在不同内置主题下的外观和风格。实现步骤生成一个Qt Widgets Application工程:main函数#include "themewidget.h"#include <QtWidgets/QApplication>#include <QtWidgets/QMainWindow>int main(int argc, char *argv[]){ QApplication a(argc, argv); //采用默认的原创 2020-06-02 21:55:23 · 1493 阅读 · 0 评论 -
QT5.14.2自带Examples:Calendar Widget
概述本示例示例展示了QCalendarWidget的使用。QCalendarWidget一次显示一个月的日历,并允许用户选择日期。日历由四个组件组成:导航栏,允许用户更改显示的月份;网格,其中每个单元格表示一个月中的一天;行标题,工作日名称(星期几)列标题,周号(该年度的第几周)本示例允许用户使用qcombobox、qcheckbox和QDateEdits配置其外观和行为。用户还可以设置单个日期、标题的格式。QCalendarWidget的属性总结如下表所示:属性描述原创 2020-06-02 10:49:04 · 538 阅读 · 0 评论 -
QT5.14.2自带Examples:Bars
概述本示在Widget应用程序中使用Q3DBars绘制3D柱状图,显示芬兰奥卢和赫尔辛基的平均气温(2006-2013),并通过UI操作,对显示效果进行调整。展示了以下内容:使用Q3DBars和一些widget创建应用程序使用QBar3DSeries和QBarDataProxy将数据设置到图形使用widget控件调整一些图形和序列属性通过单击轴标签选择行或列实现步骤生成工程新建一个空的Qt Application Widget工程。右击文件名,选择Remove,删除mainwindo原创 2020-05-31 11:34:58 · 1497 阅读 · 4 评论 -
QT5.14.2自带Examples:Application
Application 示例功能概述主要功能Application 示例展示了如何实现标准的GUI应用程序(包括:菜单,工具栏,状态栏)。该示例本身是一个基于QPlainTextEdit的简单的文字编辑器程序。几乎所有的代码都在MainWindow类中完成,它的基类为QMainWindow。QMainWindow为需要菜单、工具栏、停靠窗口、状态栏的窗口提供了一个框架。本示例在菜单栏中提供了File、Edit和Help入口。点开后分别可以看见下列弹出菜单:状态栏在主窗口的底端,显示鼠标指向的菜单原创 2020-05-24 22:23:38 · 1307 阅读 · 0 评论 -
QT5.14.2自带Examples:Analog Clock Window
Analog Clock Window 示例Analog Clock Window 示例展示了如何在一个自定义的window上绘制内容。这个例子使用了QPainter的位移、缩放、旋转特性,这些功能都是对计算机图形学算法的封装,相关的矩阵对用户来说都是透明的,使用起来非常方便。概述本示例展示了如何使用QPainter在QWindows绘制一个时钟。时钟的大小会随着窗口大小的变化而自动匹配。本示例是基于另一个GUI 示例基础之上完成的,入下图所示。所以这里我们一共会讲两个示例程序。Analog Clo原创 2020-05-22 14:42:27 · 1017 阅读 · 1 评论 -
QT5.14.2自带Examples:Address Book
地址簿示例地址簿示例展示了如何使用代理模式,基于同一个模型数据展示不同的视图。这个例子提供了一个地址簿,支持将联系人按人名的头字母划分为9组: ABC, DEF, GHI, … , VW, …, XYZ。该功能通过QSortFilterProxyModel 类对模型进行过滤,生成9个代理模型对象,分别将过滤后的数据交给9个视图对象进行显示。对象图如下所示:概述本示例包含五个类: MainWindow, AddressWidget, TableModel, NewAddressTab 和 AddD原创 2020-05-19 10:41:32 · 1347 阅读 · 0 评论