QWT 圖表庫核心類中文對照表:快速查找與功能理解指南
前言
QWT (Qt Widgets for Technical Applications) 是基於 Qt 的專業繪圖庫,類眾多且命名規範。本文整理核心類中文對照,幫助開發者快速定位所需功能類。
一、核心類分類對照表
1. 繪圖基礎與座標系統
| 類名 | 中文說明 | 功能定位 |
| QwtAbstractScale | 抽象刻度尺基類 | 定義刻度尺通用介面 |
| QwtAbstractScaleDraw | 抽象刻度繪製基類 | 刻度標籤、網格線繪製邏輯 |
| QwtScaleEngine | 刻度計算引擎 | 自動計算合適的刻度步長、範圍 |
| QwtScaleMap | 座標映射器 | 數據座標 ↔ 像素座標雙向轉換 |
| QwtScaleWidget | 刻度尺控件 | 獨立的刻度尺顯示控件 |
2. 繪圖元素與數據序列
| 類名 | 中文說明 | 功能定位 |
| QwtPlotCurve | 曲線繪圖項 | 最常用:繪製折線圖、散點圖 |
| QwtPlotHistogram | 直方圖繪圖項 | 條形圖、直方圖繪製 |
| QwtPlotSpectrogram | 譜圖/熱力圖繪圖項 | 二維數據顏色映射顯示 |
| QwtPlotMarker | 標記繪圖項 | 水平/垂直線、文本標記、十字準星 |
| QwtPlotGrid | 網格繪圖項 | 背景網格線繪製 |
| QwtPlotLegendItem | 圖例繪圖項 | 圖例內容渲染 |
3. 數據容器與抽象介面
| 類名 | 中文說明 | 功能定位 |
| QwtSeriesData | 序列數據抽象介面 | 定義 size()/sample() 純虛介面 |
| QwtPointSeriesData | 點序列數據基類 | 基於 QVector 的實現 |
| QwtArrayData | 雙陣列數據容器 | 包含兩個 QVector (x/y) |
| QwtCPointerData | C 指標數據適配器 | 包裝原始 double* 陣列 |
| QwtTrimmingPoints | 數據修剪器 | 移除可見區域外的數據點優化性能 |
4. 交互與輔助控件
| 類名 | 中文說明 | 功能定位 |
| QwtPlotZoomer | 縮放器 | 滑鼠框選區域縮放 |
| QwtPlotPaner | 平移器 | 滑鼠拖拽平移畫布 |
| QwtPlotPicker | 拾取器 | 滑鼠選點/選區、數據點高亮 |
| QwtPlotMagnifier | 放大鏡 | 滾輪縮放 |
| QwtPlotCrosshair | 十字準星 | 跟隨滑鼠的十字線 |
5. 專用儀表控件
| 類名 | 中文說明 | 功能定位 |
| QwtDial | 刻度盤/儀表盤 | 類似汽車儀表的圓形顯示 |
| QwtCompass | 指南針控件 | 方向指示器 |
| QwtCompassRose | 羅盤玫瑰圖基類 | 指南針外觀抽象基類 |
| QwtCompassMagnetNeedle | 磁針 | 指南針指針樣式 |
| QwtCompassWindArrow | 風向標指示器 | 風速風向顯示 |
| QwtThermometer | 溫度計控件 | 水銀溫度計樣式數值顯示 |
| QwtWheel | 滾輪控件 | 圓形數值調節器 |
6. 顏色映射與視覺增強
| 類名 | 中文說明 | 功能定位 |
| QwtColorMap | 顏色映射基類 | 數值 → 顏色轉換介面 |
| QwtLinearColorMap | 線性顏色映射 | 兩顏色間線性插值 |
| QwtAlphaColorMap | 透明度顏色映射 | 調整顏色 Alpha 通道 |
| QwtClipper | 裁剪器 | 繪圖區域裁剪優化 |
7. 圖例與標籤
| 類名 | 中文說明 | 功能定位 |
| QwtAbstractLegend | 抽象圖例基類 | 圖例容器介面 |
| QwtLegend | 圖例控件 | 標準圖例顯示,支援複選框 |
| QwtLegendLabel | 圖例標籤 | 圖例項文本渲染 |
| QwtLegendData | 圖例數據 | 圖例項角色數據 (圖標、文本等) |
二、核心架構類
| 類名 | 中文說明 | 核心職責 |
| QwtPlot | 繪圖畫布主控件 | 管理所有繪圖項、座標軸、畫布佈局 |
| QwtPlotCanvas | 繪圖畫布 | 實際繪製區域,處理繪圖事件 |
| QwtPlotLayout | 繪圖佈局管理器 | 座標軸、標題、圖例、畫布空間分配 |
| QwtPlotDict | 繪圖項字典 | 管理附著到 Plot 的所有項 (曲線、標記等) |
三、常用類繼承關係速查
QwtPlotItem (所有繪圖項基類)
├── QwtPlotCurve (曲線)
├── QwtPlotHistogram (直方圖)
├── QwtPlotSpectrogram (熱力圖)
├── QwtPlotMarker (標記)
├── QwtPlotGrid (網格)
└── QwtPlotLegendItem (圖例項)
QwtScaleDraw (刻度繪製)
├── QwtScaleWidget (獨立刻度尺控件)
└── (內部被 QwtPlot 用於座標軸繪製)
QwtColorMap (顏色映射)
├── QwtLinearColorMap
└── QwtAlphaColorMap
四、快速上手建議
- 繪製曲線:
QwtPlotCurve + QwtPointSeriesData → plot->addItem(curve)
- 添加座標軸:
plot->enableAxis(QwtPlot::xBottom) + plot->setAxisTitle()
- 啟用交互:
new QwtPlotZoomer(canvas)、new QwtPlotPicker(canvas)
- 自定義顏色映射:繼承
QwtColorMap 實現 rgb() 虛函數
- 性能優化:大數據量使用
QwtTrimmingPoints + QwtWeedingCurveFitter
五、資源鏈接
六、總結
QWT 類命名遵循 Qwt + 功能領域 + 具體角色 模式,理解此規律可快速推導類職責。核心開發流程圍繞 QwtPlot (畫布) + QwtPlotItem (繪圖項) + QwtSeriesData (數據源) 三大支柱展開。建議收藏本對照表,開發時按功能分類快速定位所需類。