• 大小: 8.79KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-04-17
  • 语言: C/C++
  • 标签: 曲线  Qt  

资源简介

不错的qt5曲线例程

资源截图

代码片段和文件信息

/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Charts module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:GPL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or alternatively in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU General Public License Usage
** Alternatively this file may be used under the terms of the GNU
** General Public License version 3 or (at your option) any later version
** approved by the KDE Free Qt Foundation. The licenses are as published by
** the Free Software Foundation and appearing in the file LICENSE.GPL3
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/

#include “callout.h“
#include 
#include 
#include 
#include 
#include 

Callout::Callout(QChart *chart):
    QGraphicsItem(chart)
    m_chart(chart)
{
}
//虚函数获取区域大小
QRectF Callout::boundingRect() const
{
    QPointF anchor = mapFromParent(m_chart->mapToPosition(m_anchor));
    QRectF rect;
    rect.setLeft(qMin(m_rect.left() anchor.x()));
    rect.setRight(qMax(m_rect.right() anchor.x()));
    rect.setTop(qMin(m_rect.top() anchor.y()));
    rect.setBottom(qMax(m_rect.bottom() anchor.y()));
    return rect;
}
//重绘
void Callout::paint(QPainter *painter const QstyleOptionGraphicsItem *option QWidget *widget)
{
    Q_UNUSED(option)
    Q_UNUSED(widget)
    QPainterPath path;
    path.addRoundedRect(m_rect 5 5);//圆角5像素

    QPointF anchor = mapFromParent(m_chart->mapToPosition(m_anchor));//返回图列的相对位置
    if (!m_rect.contains(anchor)) {
        QPointF point1 point2;

        // establish the position of the anchor point in relation to m_rect
        bool above = anchor.y() <= m_rect.top();
        bool aboveCenter = anchor.y() > m_rect.top() && anchor.y() <= m_rect.center().y();
        bool belowCenter = anchor.y() > m_rect.center().y() && anchor.y() <= m_rect.bottom();
        bool below = anchor.y() > m_rect.bottom();

        bool onLeft = anchor.x() <= m_rect.left();
        bool leftOfCenter = anchor.x() > m_rect.left() && anchor.x() <= m_rect.center().x();
        bool rightOfCenter = anchor.x() > m_rect.center().x() && anchor.x() <= m_re

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4780  2019-12-02 18:50  view.cpp

     文件       2171  2019-12-02 18:50  view.h

     文件       5344  2020-12-21 17:23  callout.cpp

     文件       2296  2019-12-02 18:50  callout.h

     文件        199  2019-12-02 18:50  callout.pro

     文件      22815  2020-12-30 08:13  callout.pro.user

     文件       1561  2019-12-02 18:50  main.cpp

----------- ---------  ---------- -----  ----

                39166                    7


评论

共有 条评论