当前位置: 首页 > wzjs >正文

信托公司网站建设营销型网站建设合同模板

信托公司网站建设,营销型网站建设合同模板,wordpress个人模板下载,网站开发怎么确定价格要在前后两个图表之间连接对应的坐标轴刻度点,可以通过在父部件中绘制线条来实现。以下是具体步骤和代码实现: 步骤说明 重写paintEvent函数:在Bigraph的paintEvent中绘制连接线。获取刻度值列表:根据每个坐标轴的最小值、最大值…

要在前后两个图表之间连接对应的坐标轴刻度点,可以通过在父部件中绘制线条来实现。以下是具体步骤和代码实现:

步骤说明

  1. 重写paintEvent函数:在BigraphpaintEvent中绘制连接线。
  2. 获取刻度值列表:根据每个坐标轴的最小值、最大值和刻度数量生成刻度值。
  3. 转换坐标位置:将刻度值转换为在各自图表中的位置,再转换为父部件中的全局坐标。
  4. 绘制连接线:使用QPainter在对应的刻度点之间绘制线条。

代码实现

Bigraph.h中添加以下内容:
#include <QPainter>protected:void paintEvent(QPaintEvent *event) override;private:void connectAxisTicks(QPainter *painter, QChart *backChart, QLineSeries *backSeries, QChart *fontChart, QLineSeries *fontSeries, bool isXAxis);QList<qreal> getTickValues(QValueAxis *axis);
Bigraph.cpp中添加以下实现:
void Bigraph::paintEvent(QPaintEvent *event)
{QWidget::paintEvent(event);QPainter painter(this);painter.setRenderHint(QPainter::Antialiasing);painter.setPen(QPen(QColor(Qt::gray), 1, Qt::DotLine));// 连接X轴和Y轴的刻度线connectAxisTicks(&painter, backChart, backSeries, fontChart, fontSeries, true);  // X轴connectAxisTicks(&painter, backChart, backSeries, fontChart, fontSeries, false); // Y轴
}void Bigraph::connectAxisTicks(QPainter *painter, QChart *backChart, QLineSeries *backSeries, QChart *fontChart, QLineSeries *fontSeries, bool isXAxis)
{// 获取前后图表的坐标轴QValueAxis *backAxis = isXAxis ? qobject_cast<QValueAxis*>(backChart->axes(Qt::Horizontal).first(): qobject_cast<QValueAxis*>(backChart->axes(Qt::Vertical).first());QValueAxis *fontAxis = isXAxis ? qobject_cast<QValueAxis*>(fontChart->axes(Qt::Horizontal).first(): qobject_cast<QValueAxis*>(fontChart->axes(Qt::Vertical).first());if (!backAxis || !fontAxis) return;// 获取刻度值列表QList<qreal> backTicks = getTickValues(backAxis);QList<qreal> fontTicks = getTickValues(fontAxis);int minCount = qMin(backTicks.size(), fontTicks.size());for (int i = 0; i < minCount; ++i) {// 转换backChart中的刻度点到全局坐标QPointF backPoint;if (isXAxis) {backPoint = backChart->mapToPosition(QPointF(backTicks[i], backAxis->min()), backSeries);} else {backPoint = backChart->mapToPosition(QPointF(backAxis->min(), backTicks[i]), backSeries);}QPoint backViewPos = backChartView->mapFromScene(backPoint);QPoint backGlobalPos = backChartView->pos() + backViewPos;// 转换fontChart中的刻度点到全局坐标QPointF fontPoint;if (isXAxis) {fontPoint = fontChart->mapToPosition(QPointF(fontTicks[i], fontAxis->min()), fontSeries);} else {fontPoint = fontChart->mapToPosition(QPointF(fontAxis->min(), fontTicks[i]), fontSeries);}QPoint fontViewPos = fontChartView->mapFromScene(fontPoint);QPoint fontGlobalPos = fontChartView->pos() + fontViewPos;// 绘制连接线painter->drawLine(backGlobalPos, fontGlobalPos);}
}QList<qreal> Bigraph::getTickValues(QValueAxis *axis)
{QList<qreal> ticks;qreal min = axis->min();qreal max = axis->max();int tickCount = axis->tickCount();if (tickCount < 2) return ticks;qreal step = (max - min) / (tickCount - 1);for (int i = 0; i < tickCount; ++i) {ticks.append(min + i * step);}return ticks;
}

说明

  • 坐标转换:使用QChart::mapToPosition将刻度值转换为图表内的坐标,再通过QChartView::mapFromScene转换为视图坐标,最后加上视图在父部件中的位置得到全局坐标。
  • 刻度生成:根据轴的minmaxtickCount生成均匀分布的刻度值。
  • 线条绘制:使用灰色虚线连接对应的刻度点,形成立体效果。

确保两个图表的坐标轴范围和刻度数一致,以保证连接线正确对齐。通过调整QPen的参数可以更改线条样式。

http://www.dtcms.com/wzjs/548223.html

相关文章:

  • 建工厂网站的公司wordpress教程 下载
  • 专门看广告的网站公司名称注册查询官网
  • 南通网站建设价格国家企业年报信息公示网官网查询
  • 营销型网站功能项目网格图
  • 教育类企业网站毛妮卓玛wordpress
  • 一学一做看视频网站惠阳网站制作公司
  • dw软件网站建设教程视频专业刷粉网站
  • 网站建设高级教程网站建设人员配备
  • 阜阳做网站wordpress加个留言板
  • 建工作室网站东莞p2p网站开发价钱
  • 做电子商务网站 除了域名 网页设计 还有服务器 和网站空间建设银行中国网站
  • 网站建设中外链与内链的技巧用什么程序做网站最好优化
  • 河源定制网站建设推广玻璃制品东莞网站建设
  • 公司做自己的网站平台台搜索引擎调词平台
  • 网站建设公司58抖音代运营怎么样呢
  • 网站title怎么修改网络运维与安全就业方向
  • 网站建设 业务板块名称英文网站seo
  • 做车身拉花的网站wordpress更改链接后404
  • 网站点赞怎么做的怎样下载模板网站
  • 推广自己的产品中国十大seo公司
  • 学电商比较好的网站有哪些高端医疗网站开发
  • 如何检测网站被搜索引擎惩罚了手机百度官网首页
  • 网站插件 wordpress哈尔滨建站软件
  • 中山网站优化排名郑州免费建站
  • 网站建设发朋友圈的图片盐城做网站价格
  • 响应式网站的优缺点网站建设公司的市场开拓方案
  • 万家灯火网站建设网站项目开发流程及规范
  • 唯品会网站建设方案如何进行品牌宣传与推广
  • 福建省环保厅网站建设项目验收公司官网制作需要多少钱一个
  • 开工作室做网站怎样找资源企业管理培训课程网课免费