申请注册网站域名.商城营销策略有哪几种

web/2025/9/25 12:54:01/文章来源:
申请注册网站域名.商城,营销策略有哪几种,做网站收广告费,绍兴建设企业网站一、介绍 QCustomPlot是一个用于绘图和数据可视化的Qt C小部件。它没有进一步的依赖关系#xff0c;提供友好的文档帮助。这个绘图库专注于制作好看的#xff0c;出版质量的2D绘图#xff0c;图形和图表#xff0c;以及为实时可视化应用程序提供高性能。QCustomPlot可以导出…一、介绍 QCustomPlot是一个用于绘图和数据可视化的Qt C小部件。它没有进一步的依赖关系提供友好的文档帮助。这个绘图库专注于制作好看的出版质量的2D绘图图形和图表以及为实时可视化应用程序提供高性能。QCustomPlot可以导出各种格式如矢量化的PDF文件和光栅化的图像如PNG, JPG和BMP。QCustomPlot是用于在应用程序中显示实时数据以及为其他媒体生成高质量图的解决方案。二、配置 1下载 官方网站 http://www.qcustomplot.com/ 从官网下载文件选择2.1版本以上因为这会开始支持Qt6了。可以选择源文件实例说明文档全部下载或者选择下载单动态库或纯源码文件不大建议全部下载。2QtCreator配置 新建一个Qt Widgets Application工程。 把下载好的qcustomplot.h和qcustomplot.cpp放到工程下右击项目添加现有文件。对话框中选择选择qcustomplot.h和qcustomplot.cpp文件添加到项目中并在pro文件中添加Qt printsupport。双击mainwindows.ui进入Designer界面新建一个widget部件。右击widget部件选择提升为...。在类名称里面输入QCustomPlot选择“添加”然后选择“提升”。这里要注意头文件路径如果你是放在最外层(和pro文件同级)直接默认值就行。如果是放在某文件夹下比如新建了一个custom文件夹并放置在里面那么头文件这一栏应该是“custom/qcustomplot.h”。提升之后widget类已经被改成QCustomPlot。在mianwindows.cpp构造函数添加如下demo代码。 // add two new graphs and set their look: ui-widget-addGraph(); ui-widget-graph(0)-setPen(QPen(Qt::blue)); // line color blue for first graph ui-widget-graph(0)-setBrush(QBrush(QColor(0, 0, 255, 20))); // first graph will be filled with translucent blue ui-widget-addGraph(); ui-widget-graph(1)-setPen(QPen(Qt::red)); // line color red for second graph // generate some points of data (y0 for first, y1 for second graph): QVector x(251), y0(251), y1(251); for (int i0; i251; i) { x[i] i; y0[i] qExp(-i/150.0)*qCos(i/10.0); // exponentially decaying cosine y1[i] qExp(-i/150.0); // exponential envelope } // configure right and top axis to show ticks but no labels: // (see QCPAxisRect::setupFullAxesBox for a quicker method to do this) ui-widget-xAxis2-setVisible(true); ui-widget-xAxis2-setTickLabels(false); ui-widget-yAxis2-setVisible(true); ui-widget-yAxis2-setTickLabels(false); // make left and bottom axes always transfer their ranges to right and top axes: connect(ui-widget-xAxis, SIGNAL(rangeChanged(QCPRange)), ui-widget-xAxis2, SLOT(setRange(QCPRange))); connect(ui-widget-yAxis, SIGNAL(rangeChanged(QCPRange)), ui-widget-yAxis2, SLOT(setRange(QCPRange))); // pass data points to graphs: ui-widget-graph(0)-setData(x, y0); ui-widget-graph(1)-setData(x, y1); // let the ranges scale themselves so graph 0 fits perfectly in the visible area: ui-widget-graph(0)-rescaleAxes(); // same thing for graph 1, but only enlarge ranges (in case graph 1 is smaller than graph 0): ui-widget-graph(1)-rescaleAxes(true); // Note: we could have also just called ui-widget-rescaleAxes(); instead // Allow user to drag axis ranges with mouse, zoom with mouse wheel and select graphs by clicking: ui-widget-setInteractions(QCP::iRangeDrag | QCP::iRangeZoom | QCP::iSelectPlottables); 编译构建项目成功后执行即可看到demo图表。3添加说明文档 下载的文档可以直接添加到QtCreator的帮助里面。 把文件放到 D:\Qt\Qt5.9.6\Tools\QtCreator\share\doc\qtcreator底下QtCreator选择工具-选项。选择-文档-添加在弹出的界面选择把qcustomplot.qch文件加进来。如此我们在帮助界面搜索qcustomplot就可以直接浏览帮助文档。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/b47d85cd4eaa4d8dad4300c796aee8dc.png#pic_center)三、常用功能详解 1曲线 使用addGraph()方法新建曲线返回一个QCPGraph对象指针后续使用此指针或者根据索引获取指针对曲线动作。 建议使用保存对象指针方法操作曲线因为索引容易误操作比如当新建两条曲线的时候删除第一条第二条索引会从1变成0高亮的时候索引也会有异常。//初始化返回类指针 QCPGraph *graph1 ui-plot-addGraph(); //根据索引获取类指针 QCPGraph *graph1 ui-plot-graph(index) 如果你需要两条曲线在不同的坐标系比如X轴相同Y轴不同那么就需要在初始化的时候指定坐标系或者后续指定。 QCPGraph *graph1 ui-plot-addGraph(ui-plot-xAxis,ui-plot-yAxis); QCPGraph *graph2 ui-plot-addGraph(ui-plot-xAxis,ui-plot-yAxis2); //或者在addGraph之后使用 graph1-setKeyAxis(ui-plot-xAxis); graph1-setValueAxis(ui-plot-yAxis); graph2-setKeyAxis(ui-plot-xAxis2); graph2-setValueAxis(ui-plot-yAxis2); 使用setData()方法设置曲线坐标数据坐标数据使用QVector封装使用此方法会覆盖原先的曲线。注意这里x和y的动态数组长度要一致否则控制台会报错并失效。 QVector x0(251), y0(251); for (int i0; i251; i) { x[i] i; y0[i] qExp(-i/150.0)*qCos(i/10.0); } ui-plot-graph(0)-setData(x0,y0);//写入数据 使用addData()方法在原先基础上添加数据适用于动态曲线当然如果一直重新setData也是可以不建议这么做。 ui-plot-graph(0)-addData(x0, y0) 使用clear()清空数据但是曲线还保留着。 ui-plot-graph(0)-data()-clear(); 使用setName()方法设置曲线名称name方法返回曲线名称。 ui-plot-graph(0)-setName(QString(“graph1”)); qDebug()Plot-graph(0)-name(); 使用removeGraph()方法传入QCPGraph指针或者索引移除曲线。 ui-plot-removeGraph(0); ui-plot-removeGraph(graph1); 设置曲线画笔颜色、宽度、样式。 ui-plot-graph(0)-setPen(QPen(QColor(120, 120, 120), 2)); 设置曲线使用刷子。 ui-plot-graph(1)-setBrush(QColor(200, 200, 200, 20)); 使用setChannelFillGraph()把通道2包含在1里面这样刷子颜色就不会透视。QCPGraph *graph2 ui-widget-addGraph(); graph2-setData(x2, y2); graph2-setPen(Qt::NoPen); graph2-setBrush(QColor(200, 200, 200, 20)); graph2-setChannelFillGraph(graph1); 使用setScatterStyle()设置曲线散点的样式。ui-plot-graph(0)-setScatterStyle(QCPScatterStyle(QCPScatterStyle::ssCircle, QPen(Qt::black, 1.5), QBrush(Qt::white), 9)); 2柱状图 实例化QCPBars()。 QCPBars *bars1 new QCPBars(ui-widget-xAxis, ui-widget-yAxis); 使用setWidth()设置柱状图宽度 bars1-setWidth(10); 使用setPen()设置画笔 bars1-setPen(QPen(QColor(120, 120, 120), 2)); 使用setBrush()设置刷子颜色填充。 bars1-setBrush(QColor(10, 140, 70, 160)); 使用moveAbove()设置栏2在1的上方。 bars2-moveAbove(bars1); 3坐标轴 使用setVisible()方法设置是否显示。ui-plot-xAxis2-setVisible(true); ui-plot-yAxis2-setVisible(true); 使用setTickLabels()方法设置是否显示刻度。 ui-widget-xAxis2-setTickLabels(false); ui-widget-yAxis2-setTickLabels(false); 使用rescaleAxes()方法设置自适应坐标轴防止因为坐标轴范围过长而出现大量无数据地带 ui-Plot-graph(0)-rescaleAxes(); 使用setRange()设置坐标轴范围使用range()获取坐标轴范围数值。 ui-plot-xAxis-setRange(0, 100); ui-plot-yAxis-setRange(0, 100); QCPRange XAxis_Rangeui-plot-xAxis-range(); 缩放、自适应等会触发rangeChanged()信号同步使用setRange()保证上下、左右坐标一致。 connect(ui-plot-xAxis, SIGNAL(rangeChanged(QCPRange)), ui-plot-xAxis2, SLOT(setRange(QCPRange))); connect(ui-plot-yAxis, SIGNAL(rangeChanged(QCPRange)), ui-plot-yAxis2, SLOT(setRange(QCPRange))); 3样式 使用setTickLabelColor()设置坐标轴标签的颜色。 ui-plot-xAxis-setTickLabelColor(Qt::red); ui-plot-yAxis-setTickLabelColor(Qt::red); 使用setTickPen()设置含标签的刻度的画笔的颜色、线宽和样式。 ui-widget-xAxis-setTickPen(QPen(Qt::red, 1)); ui-widget-yAxis-setTickPen(QPen(Qt::red, 1)); 使用setSubTickPen()设置不含标签的刻度的画笔的颜色、线宽和样式。 ui-widget-xAxis-setSubTickPen(QPen(Qt::red, 1)); ui-widget-yAxis-setSubTickPen(QPen(Qt::red, 1)); 使用setBasePen()设置坐标轴画笔的颜色、线宽和样式。 ui-plot-xAxis-setBasePen(QPen(Qt::red, 1)); ui-plot-yAxis-setBasePen(QPen(Qt::red, 1)); 使用setSubGridVisible()设置是否显示二级网格。 ui-plot-xAxis-grid()-setSubGridVisible(true); ui-plot-yAxis-grid()-setSubGridVisible(true); 使用setPen()设置网格的画笔的颜色、线宽和样式。ui-plot-xAxis-grid()-setPen(QPen(QColor(140, 140, 140), 1, Qt::DotLine)); ui-plot-yAxis-grid()-setPen(QPen(QColor(140, 140, 140), 1, Qt::DotLine)); 使用setSubGridPen()设置二级网格的画笔的颜色、线宽和样式。 ui-plot-xAxis-grid()-setSubGridPen(QPen(QColor(80, 80, 80), 1, Qt::DotLine)); ui-plot-yAxis-grid()-setSubGridPen(QPen(QColor(80, 80, 80), 1, Qt::DotLine)); 使用setZeroLinePen()设置零线的画笔的颜色、线宽和样式。 ui-plot-xAxis-grid()-setZeroLinePen(Qt::NoPen); ui-plot-yAxis-grid()-setZeroLinePen(Qt::NoPen); 使用setBackground()设置背景颜色设置渐变色也可以直接使用图片纯色刷子来当背景。 QLinearGradient plotGradient; plotGradient.setStart(0, 0); plotGradient.setFinalStop(0, 350); plotGradient.setColorAt(0, QColor(80, 80, 80)); plotGradient.setColorAt(1, QColor(50, 50, 50)); ui-plot-setBackground(plotGradient); QLinearGradient axisRectGradient; axisRectGradient.setStart(0, 0); axisRectGradient.setFinalStop(0, 350); axisRectGradient.setColorAt(0, QColor(80, 80, 80)); axisRectGradient.setColorAt(1, QColor(30, 30, 30)); ui-widget-axisRect()-setBackground(axisRectGradient); 使用setUpperEnding()设置上轴结束的样式。 ui-plot-xAxis-setUpperEnding(QCPLineEnding::esSpikeArrow); ui-plot-yAxis-setUpperEnding(QCPLineEnding::esSpikeArrow); 4图例 使用setVisible()设置图例是否显示。ui-plot-legend-setVisible(true); 使用setFillOrder()设置图例信息的水平方向。 ui-plot-legend-setFillOrder(QCPLayoutGrid::foColumnsFirst); 使用addElement()设置图例显示的坐标、位置和比例。ui-plot-plotLayout()-addElement(1 , 0, ui-plot-legend); 使用setBorderPen()设置图例边框颜色、线宽、样式。ui-plot-legend-setBorderPen(QPen(QColor(140, 140, 140), 1, Qt::DotLine)); 使用setRowStretchFactor()设置显示比例图例所在框的大小。 ui-plot-plotLayout()-setRowStretchFactor(1, 0.001); 5其他 使用setInteractions()方法设置交互策略 ui-Plot-setInteractions(QCP::iRangeDrag | QCP::iRangeZoom | QCP::iSelectPlottables); //放大拖拽选中等枚举 enum Interaction { iRangeDrag 0x001 //左键点击可拖动 ,iRangeZoom 0x002 //范围可通过鼠标滚轮缩放 ,iMultiSelect 0x004 //可选中多条曲线 ,iSelectPlottables 0x008 //线条可选中 ,iSelectAxes 0x010 //坐标轴可选 ,iSelectLegend 0x020 //图例是可选择的 ,iSelectItems 0x040 //可选择项矩形、箭头、文本项等 ,iSelectOther 0x080 //所有其他对象都是可选的 }; 使用replot()重新启动绘制当你需要一条动态曲线的时候除了动态的addData()还需要不断的使用replot()进行后续的绘制。 ui-plot-replot(); 保存成Pdf、Png、Jpg、Bmp格式文件。 bool savePdf (const QString fileName, int width0, int height0, QCP::ExportPen exportPenQCP::epAllowCosmetic, const QString pdfCreatorQString(), const QString pdfTitleQString()) bool savePng (const QString fileName, int width0, int height0, double scale1.0, int quality-1, int resolution96, QCP::ResolutionUnit resolutionUnitQCP::ruDotsPerInch) bool saveJpg (const QString fileName, int width0, int height0, double scale1.0, int quality-1, int resolution96, QCP::ResolutionUnit resolutionUnitQCP::ruDotsPerInch) bool saveBmp (const QString fileName, int width0, int height0, double scale1.0, int resolution96, QCP::ResolutionUnit resolutionUnitQCP::ruDotsPerInch) 图例与曲线选中状态绑定。//响应图例被选中信号 connect(ui-channelChart,QCustomPlot::legendClick, this,[](QCPLegend *legend, QCPAbstractLegendItem *item, QMouseEvent *event){ m_grap_A-setSelection(ui-channelChart-legend-item(0)-selected()? QCPDataSelection(m_grap_A-data().data()-dataRange()): QCPDataSelection()); } //响应曲线被选中信号 connect(ui-channelChart,QCustomPlot::plottableClick, this,[](QCPAbstractPlottable *plottable, int dataIndex, QMouseEvent *event){ ui-channelChart-legend-item(0)-setSelected(m_grap_A-selected()); } QPen样式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/81624.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站建设方案和报价qq网页版登录官网登录

一、背景 开发者编写完成源码,还需要进行编译、测试、打包、部署等一系列操作。在一些小型项目中,还可能通过手动方式进行以上操作。但是在大型项目中,难以确定以上操作的顺序,而且会耗费更高的时间成本。 1.构建工具 构建工具…

福田设计网站wordpress 菜单管理系统

软考-系统架构设计师-2021年上午选择题真题 考试时间 8:30 ~ 11:00 150分钟 1.前趋图(Precedence Graph)是一个有向无环图,记为:→(Pi,Pj)Pi must Complete Before Pj may strat), 假设系统中进程P{P1, P2,P3,P4, P5, P6, P7, P8}, 且进程的…

南京培训网站建设云商城官网

有时候一行代码或者是注释会比较长,为了方便阅读,习惯让它折行显示;而VSCode在默认情况下,是不会自动折行的,这不利于阅读,我们可以通过设置来达到折行的效果。 具体操作步骤: 打开左下角的管…

平昌县建设局网站深圳市宝安区

目录 一、以太网 二、MAC地址 三、MTU 四、ARP协议 一、以太网 “以太网”不是一种具体的网路,而是一种技术标准:既包含了数据链路层的内容,也包含了一些物理层的内容,例如:规定了网络拓扑结构、访问控制方式、传…

镇江网站建设一般多少钱怎样在网上做网站

在分布式架构中,网络通信是底层基础,没有网络,也就没有所谓的分布式架构。只有通过网络才能使得一大片机器互相协作,共同完成一件事情。 同样,在大规模的系统架构中,应用吞吐量上不去、网络存在通信延迟、我…

如何建一个网站教程微信网站开放

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有4个页面。 二、作品演示 三、代…

用asp做的网站有哪些张掖网站设计公司

全世界有3.14 % 的人已经关注了数据与算法之美软件正在统治世界。而软件的核心则是算法。算法千千万万,又有哪些算法属于“皇冠上的珍珠”呢?Marcos Otero 给出了他的看法。什么是算法?通俗而言,算法是一个定义明确的计算过程&…

网站建设月薪培训心得体会范文500字

第一步:按 shift ctrl p 第二步:然后把 > 删除 第三步:输入文件名称即可

怀化同城网站saas系统是干嘛的

摘要:PDO查询中,2个绑定操作:参数绑定与列绑定;参数绑定:bindParm() 和 bindValue();bindParm(:占位符,变量,类型常量) 类型常量默认为字符串bindValue(:占位符,值或变量,类型常量) 如果直接传值,可省略类型…

网站模板 酒类网站改版要多少钱

目录 前言1 知识图谱1.1 定义1.2 特点1.3 应用 2 大数据2.1 定义2.2 应用 3. 区别与联系3.1 区别3.2 联系 结语 前言 在当今信息爆炸的时代,数据成为了我们生活和工作中不可或缺的资源。知识图谱和大数据是两个关键概念,它们在人工智能、数据科学和信息…

营销型企业网站的含义网站免费响应建设

mysql 中的 slow log 是用来记录执行时间较长(超过 long_query_time 秒)的 sql 的一种日志工具。启用 slow log在 my.cnf 中设置[mysqld]slow_query_logonslow_query_log_filemysql-slow重启 MySQL 服务。五款常用工具mysqldumpslowmysqlslamyprofimysql-explain-slow-logmysql…

php 自动做网站点击量网站建设维护什么意思

🌈个人主页:Sarapines Programmer🔥 系列专栏:《操作系统实验室》🔖诗赋清音:柳垂轻絮拂人衣,心随风舞梦飞。 山川湖海皆可涉,勇者征途逐星辉。 目录 🪐1 初识Linux OS &…

建二手车网站电商专员是做什么的

C#中结构struct能否继承于一个类class,类class能否继承于一个struct 答案是:都不能。 第一种情行,尝试结构继承类 报错:接口列表中的类型"XX"不是接口interface。 一般来说,都是结构只能实现接口&#x…

thinkphp做的网站怎么预览效果图参考网站

5.1 QThread的两种使用方式 QThread类用于创建和管理线程,它并不是线程本身。通过使用QThread,我们可以在应用程序中实现并发执行的任务,从而提高应用程序的性能和响应能力,能够有效地利用CPU资源,提高程序运行效率。且QThread创建和管理线程的方式是独立于平台的,不管是…

iis网站跳转网站开发工程师6

三高架构是指在软件系统设计与开发中,注重解决高并发性、高可用性和高性能的架构设计模式。 高并发性:指系统能够处理大量并发请求的能力。在高并发场景下,系统需要具备有效的并发处理机制,以保证系统能够快速、准确地响应大量并…

福永网站设计多少钱网站站内推广计划书

在当今数字化时代,网络已经成为我们生活和工作中不可或缺的一部分。无论是家庭网络还是企业网络,都需要有效的网络设备来实现数据通信和资源共享。而网络交换机作为一种重要的网络设备,扮演着连接和管理网络设备的关键角色。本文将探讨交换机…

搭建网站后的网址家装设计师培训课程

随着Spring框架在构建现代Web应用中的广泛应用,对于掌握如何高效地使用Spring来创建RESTful Web服务的需求日益增长。特别是在快手这样的创新和技术驱动的公司,深入理解Spring RESTful Web服务的开发不仅是通过技术面试的关键,更是在日后的工…

做的网站为什么手机上搜不到移动版网站建设

題目:給你一個字符串,在後面拼接一部分使得它變成回文串,使得串最短。輸出這個回文串。分析:KMP,dp。這裡利用KMP算法將串和它的轉置匹配,看結束時匹配的長度就可以。 因為串比较長。使用KMP比较合適&#…

大气网站建设网站集约化建设 要求

在进行鸿蒙(HarmonyOS)应用开发时,开发者需要注意一些重要的问题,以确保应用的质量、性能和用户体验。以下是一些鸿蒙APP开发中需要特别关注的问题,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软…

网站设计建设服务网站雪花飘落代码

前言MySQL 5.5版本之前默认的复制是异步(Asynchronous )模式的, MySQL 5.5 以plugins的方式提供了Semisynchronous Replication 模式。在介绍 semi sync 之前,我们先了解:半同步 Asynchronous 和 同步 Synchronous 。异步复制模式主库将已经提交的事务event 写入bin…