日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Qt Charts基本组成

發布時間:2025/5/22 编程问答 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt Charts基本组成 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡述

Qt Charts API 構建在 Qt Graphics View 框架之上,可以使用 QChart 類將圖表顯示為 QGraphicsWidget。但還有一個方便的類 - QChartView,可以作為一個獨立的窗口,可以更方便的構建圖表,不需要與 QGraphicsScene 一起使用。

所有的圖表類型均由 QAbstractSeries 派生類表示。要創建圖表,必須使用相關 series 類的實例,并將其添加到 QChart。

  • 簡述
  • Qt Charts API
  • 圖表類型
  • 坐標軸
  • 圖例和圖例標記
  • 模型映射器
  • Set
  • 更多參考

版權所有:一去丶二三里,轉載請注明出處:http://blog.csdn.net/liang19890820

Qt Charts API

要使用 Qt Charts,必須先了解其基本組成部分,以及各部分所關聯的類及接口。

按照功能分類(層級關系表示繼承性):

  • QChartView
    繼承自 QGraphicsView,是獨立的圖表窗口。

  • QChart (繼承自 QGraphicsWidget,是 Qt Charts 的主要圖表 API)

    • QPolarChart (Qt Charts 的極坐標圖 API)

可以通過以下兩種方式來顯示圖表:

  • QChartView + QChart
    QChartView 作為一個獨立的圖表窗口,用于顯示圖表(QChart),不需要與 QGraphicsScene 一起使用。

  • QGraphicsScene + QChart
    如果要在現有的 QGraphicsScene 中顯示圖表,則需要使用 QChart(或 QPolarChart)類。

  • 這樣理解可能更為簡單:

    QGraphicsView 提供了視圖部件,QChartView 功能與其相同(因為繼承自 QGraphicsView),用于顯示圖表(QChart)。

    QGraphicsScene 提供了圖形場景,用于管理大量圖元,既然可以管理 QGraphicsWidget,必然可以管理 QChart(因為 QChart 繼承自 QGraphicsWidget)。

    圖表類型

    QAbstractSeries 繼承自 QObject,是所有 Qt Chart series 的基類。

    通常使用其特定的繼承類而非基類,例如:柱狀圖、面積圖、箱形圖、餅圖、線性圖、曲線圖、散點圖。

    以 QBoxPlotSeries 箱形圖為例:

    • QAbstractSeries
      • QAbstractBarSeries (所有 Bar series 柱狀圖/條形圖的基類)
        • QBarSeries (用于創建柱狀圖)
        • QHorizontalBarSeries (用于創建水平柱狀圖)
        • QHorizontalPercentBarSeries (用于創建水平百分比柱狀圖)
        • QHorizontalStackedBarSeries (用于創建水平層疊圖)
        • QPercentBarSeries (用于創建百分比柱狀圖)
        • QStackedBarSeries (用于創建層疊圖/堆疊的條形圖)
      • QAreaSeries (用于創建面積圖)
      • QBoxPlotSeries (用于創建箱形圖/盒須圖)
      • QPieSeries (用于創建餅圖)
      • QXYSeries (線性圖、曲線圖、散點圖的基類)
        • QLineSeries (用于創建折線圖)
          • QSplineSeries (用于創建曲線圖)
        • QScatterSeries (用于創建散點圖)

    對于餅圖 QPieSeries 來說,會用到:

    • QPieSlice (繼承自 QObject,定義 QPieSeries 中的切片)

    坐標軸

    QAbstractAxis 繼承自 QObject,用于操作圖表的軸。可以單獨控制各種軸元素的屬性和可見性,例如:軸線、標題、標簽、網格線和陰影。

    每個 series 可以綁定到一個或多個水平軸和垂直軸,但不支持混合軸類型,例如:在相同方向上指定 QValueAxis 和 QLogValueAxis。

    • QAbstractAxis
      • QBarCategoryAxis (在刻度線之間繪制類別)
      • QDateTimeAxis (以適當的 DateTime 格式來配置標簽)
      • QLogValueAxis (被附加到具有一個或多個點的 series)
      • QValueAxis (在刻度所在位置繪制軸的值)
        • QCategoryAxis (允許在軸上放置命名范圍)

    圖例和圖例標記

    • QLegend (圖例 - 繼承自 QGraphicsWidget)
    • QLegendMarker (圖例標記 - 繼承自 QObject,用于訪問 QLegend 內的標記的抽象對象)

    圖例標記由兩部分組成:

    • 彩色框:反映 series 的顏色
    • 標簽:顯示 series 的名稱

    注意: QLegendMarker 始終與一個 series 相關

    • QLegendMarker
      • QAreaLegendMarker (用于 QAreaSeries 的 QLegendMarker 子類)
      • QBarLegendMarker (用于 QAbstractBarSeries 的 QLegendMarker 子類)
      • QBoxPlotLegendMarker (用于 QBoxPlotSeries 的 QLegendMarker 子類)
      • QPieLegendMarker (用于 QPieSeries 的 QLegendMarker 子類)
      • QXYLegendMarker (用于 QXYSeries 的 QLegendMarker 子類)

    模型映射器

    Model Mapper - 模型映射器,允許使用由 QAbstractItemModel 派生的模型作為 chart series 圖表系列的數據源。

    例如:QHBarModelMapper,用于創建 QAbstractBarSeries 和 QAbstractItemModel 派生模型對象之間的連接

    • QHBarModelMapper (用于 QAbstractBarSeries 的水平模型映射器)
    • QVBarModelMapper (用于 QAbstractBarSeries 的垂直模型映射器)
    • QVBoxPlotModelMapper (用于 QBoxPlotSeries 的垂直模型映射器)
    • QHPieModelMapper (用于 QPieSeries 的水平模型映射)
    • QVPieModelMapper (用于 QPieSeries 的垂直模型映射器)
    • QHXYModelMapper (用于 QXYSeries 的水平模型映射器)
    • QVXYModelMapper (用于 QXYSeries 的垂直模型映射器)

    Set

    Set 主要包含:

    • QBarSet (繼承自 QObject,不同 QAbstractBarSeries 的構建單元)
    • QBoxSet (繼承自 QObject,QBoxPlotSeries 的構建單元)

    Set 顧名思義,就是提供了一組數據。也就是說,當需要顯示一組柱狀圖或者箱形圖時,需要用到他們。

    // 構建不同的 QAbstractBarSeries QBarSet *set0 = new QBarSet("Jane"); QBarSet *set1 = new QBarSet("John"); QBarSet *set2 = new QBarSet("Axel"); QBarSet *set3 = new QBarSet("Mary"); QBarSet *set4 = new QBarSet("Samantha");*set0 << 1 << 2 << 3 << 4 << 5 << 6; *set1 << 5 << 0 << 0 << 4 << 0 << 7; *set2 << 3 << 5 << 8 << 13 << 8 << 5; *set3 << 5 << 6 << 7 << 3 << 4 << 5; *set4 << 9 << 7 << 5 << 3 << 1 << 2;// 柱狀圖 QBarSeries *series = new QBarSeries(); series->append(set0); series->append(set1); series->append(set2); series->append(set3); series->append(set4);

    Y 軸的范圍是:0.0 - 13.0。以 set2(橙色柱狀圖)為例,分別為其中添加 3、5、8、13、8、5 共六組數,當顯示圖表時,可以看出橙色柱狀圖的高度正是所對應的縱坐標。

    更多參考

    想必對于 Qt Charts 基本組成有了一個簡單的認識了,來做一個簡單的小結:

    可視化部件包含:

    • QChartView - 繼承自 QGraphicsView,是獨立的圖表窗口。

    • QChart - 繼承自 QGraphicsWidget,是 Qt Charts 的主要圖表 API。

      • QPolarChart - Qt Charts 的極坐標圖 API。
    • QLegend - 繼承自 QGraphicsWidget,用于顯示圖例。

    其它類及接口主要為可視化部件提供相應的數據源,以及交互控制功能。

    注意:并非所有的類都是可視化的。

    總結

    以上是生活随笔為你收集整理的Qt Charts基本组成的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 久操福利在线 | 精品久久久久久中文字幕人妻最新 | 日韩亚洲欧美一区二区三区 | 打美女屁股网站 | 日本小视频网站 | 国产精品嫩草久久久久 | 嫩草午夜少妇在线影视 | 少妇人妻偷人精品一区二区 | 日韩jizz| 中文字幕在线免费看线人 | 成人av电影在线播放 | 自拍偷拍21p | 久久免费精品 | jizz成熟丰满日本少妇 | 少妇免费看 | 精人妻无码一区二区三区 | 亚洲精品国产成人无码 | 欧美成人午夜精品免费 | 欧美a v在线| 日韩精品成人一区二区在线 | 啪啪自拍| 日本三级韩国三级三级a级按摩 | 秋霞视频一区二区 | 成人在线免费视频播放 | 国语对白久久 | 无套爆插| 四虎视频国产精品免费入口 | 亚洲在线免费观看视频 | 久久天天操 | 国产一级片在线播放 | 丝瓜av| 久久国产精品久久精品国产 | 欧美人与性禽动交精品 | 久色视频在线观看 | 九草在线视频 | 中文字幕一区二区三区乱码在线 | 久久久亚洲天堂 | 蜜臀精品一区二区三区 | 黑巨茎大战欧美白妞 | 亚洲AV第二区国产精品 | 人妖粗暴刺激videos呻吟 | 亚洲精品小视频在线观看 | 啪啪网站免费看 | 999久久精品| 91国内在线 | 女人叉开腿让男人桶 | 午夜久久久 | 内射一区二区三区 | 国产精品久久久一区二区三区 | av女大全列表 | 成人av动漫在线观看 | 西西午夜 | 免费瑟瑟网站 | 亚洲国产日韩精品 | 亚洲av电影一区 | 国产亚洲精品成人av在线 | 国产五月天婷婷 | 无遮挡国产 | 久久精品激情 | 91视频看 | 中文字幕狠狠 | 国产精品成人久久久久久久 | 国内91视频| 国产免费av片在线观看 | 亚洲另类自拍 | 男女在线观看视频 | 四虎影视在线 | 黄色一级a毛片 | 免费在线观看一区 | 人人人干 | 毛片aaa| 欧美性aaa | 在线无遮挡 | 性xxx18| 中国浓毛少妇毛茸茸 | 久久综合婷婷 | 欧美 日韩 国产 成人 在线 91 | 欧美视频在线免费看 | 欧美生活一级片 | 色猫咪av在线 | 国产区网址 | 精品少妇久久久 | 日韩欧美二区三区 | 中文字幕精品一区二区精 | japanese国产| 农村脱精光一级 | 欧美性狂猛xxxxxbbbbb | 91亚洲欧美激情 | 日韩电影二区 | 欧美一级片一区二区 | 国产网友自拍 | 第一福利av| 99色播 | 最新国产网站 | 蜜臀aⅴ国产精品久久久国产老师 | 欧美成人亚洲 | 成人交性视频免费看 | 欧美日本在线看 | 草在线|