QT的QChartView类的用法实例说明

2023-10-22 07:40

本文主要是介绍QT的QChartView类的用法实例说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

参考实例

 

Zoom Line Example

https://doc.qt.io/qt-5/qtcharts-zoomlinechart-example.html

 

QChartView类讲解

QChart类和QChartView类的关系,类似于MFC中的文档与视图的关系。QChart类主要是组织图表的内容(文档类),QChartView用于展示图表(视图类)。

每个QChartView对象都绑定一个QChart对象。可以在构造函数中传入QChart对象的指针,也可以通过setChart()函数设置。

与QChart相关的函数

void setChart(QChart *chart)QChart *chart() const

 

与RubberBand相关的函数

QChartView的另一个功能是设置RubberBand类型。


RubberBands rubberBand() constvoid setRubberBand(const RubberBands &rubberBand)

RubberBand类型有4种:

    enum  RubberBand {NoRubberBand = 0x0,VerticalRubberBand = 0x1,HorizontalRubberBand = 0x2,RectangleRubberBand = 0x3};

含义如下:

 

实例讲解

在官方实例的基础上,增加以下代码。主要功能是,不同的按键设置不同的RubberBand类型

void ChartView::keyPressEvent(QKeyEvent *event)
{switch (event->key()){....(其他代码)// 以下为新增case Qt::Key_0:setRubberBand(QChartView::NoRubberBand);break;case Qt::Key_1:setRubberBand(QChartView::VerticalRubberBand);break;case Qt::Key_2:setRubberBand(QChartView::HorizontalRubberBand);break;case Qt::Key_3:setRubberBand(QChartView::RectangleRubberBand);break;default:break;}}

默认效果

 

矩形橡皮圈效果

按数字3,将执行以下代码:

setRubberBand(QChartView::RectangleRubberBand);

可以在图表的绘图区拉出矩形橡皮圈:

放手后,橡皮圈部分将放大显示,填满两个绘图区:

水平橡皮圈效果

按数字2,将执行以下代码:

setRubberBand(QChartView::HorizontalRubberBand);

可以在图表的绘图区拉出水平橡皮圈:

松手后,将所选矩形水平放大:

 

竖直橡皮圈效果

按数字1,将执行以下代码:

setRubberBand(QChartView::VerticalRubberBand);

可以在图表的绘图区拉出竖直橡皮圈:

松手后,效果为:

 

无橡皮圈效果

执行 setRubberBand(QChartView::NoRubberBand);设置为无橡皮圈效果,则无法在绘图区拖出选定区域,也就不会进行缩放了。

 

 

这篇关于QT的QChartView类的用法实例说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/260036

相关文章

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

C++操作符重载实例(独立函数)

C++操作符重载实例,我们把坐标值CVector的加法进行重载,计算c3=c1+c2时,也就是计算x3=x1+x2,y3=y1+y2,今天我们以独立函数的方式重载操作符+(加号),以下是C++代码: c1802.cpp源代码: D:\YcjWork\CppTour>vim c1802.cpp #include <iostream>using namespace std;/*** 以独立函数

bytes.split的用法和注意事项

当然,我很乐意详细介绍 bytes.Split 的用法和注意事项。这个函数是 Go 标准库中 bytes 包的一个重要组成部分,用于分割字节切片。 基本用法 bytes.Split 的函数签名如下: func Split(s, sep []byte) [][]byte s 是要分割的字节切片sep 是用作分隔符的字节切片返回值是一个二维字节切片,包含分割后的结果 基本使用示例: pa

实例:如何统计当前主机的连接状态和连接数

统计当前主机的连接状态和连接数 在 Linux 中,可使用 ss 命令来查看主机的网络连接状态。以下是统计当前主机连接状态和连接主机数量的具体操作。 1. 统计当前主机的连接状态 使用 ss 命令结合 grep、cut、sort 和 uniq 命令来统计当前主机的 TCP 连接状态。 ss -nta | grep -v '^State' | cut -d " " -f 1 | sort |

log4j2相关配置说明以及${sys:catalina.home}应用

${sys:catalina.home} 等价于 System.getProperty("catalina.home") 就是Tomcat的根目录:  C:\apache-tomcat-7.0.77 <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n" /> 2017-08-10

android应用中res目录说明

Android应用的res目录是一个特殊的项目,该项目里存放了Android应用所用的全部资源,包括图片、字符串、颜色、尺寸、样式等,类似于web开发中的public目录,js、css、image、style。。。。 Android按照约定,将不同的资源放在不同的文件夹中,这样可以方便的让AAPT(即Android Asset Packaging Tool , 在SDK的build-tools目

Java Websocket实例【服务端与客户端实现全双工通讯】

Java Websocket实例【服务端与客户端实现全双工通讯】 现很多网站为了实现即时通讯,所用的技术都是轮询(polling)。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发 出HTTP request,然后由服务器返回最新的数据给客服端的浏览器。这种传统的HTTP request 的模式带来很明显的缺点 – 浏 览器需要不断的向服务器发出请求,然而HTTP