QT tips QChart chart demo
来源:互联网 发布:烧烤给差评被打 知乎 编辑:程序博客网 时间:2024/05/14 15:34
Qt Charts模块提供了一套易于使用的图表组件。它采用了Qt Graphics View框架,因此图表可以很容易地集成到现代的用户界面。 Qt Charts可以被用作QWidgets、QGraphicsWidget、或QML类型。用户可以方便地通过选择图表主题之一来创建令人印象深刻的图表。
作者:一去丶二三里
对应的官方demo http://doc.qt.io/qt-5/qtcharts-index.html
pro文件添加
QT += charts
.h文件添加
/*QtChart的地方需要包含#include <QtCharts>以及命名空间using namespace QtCharts; * (或者QT_CHARTS_USE_NAMESPACE替代using namespace QtCharts;) * 但是ui_widget文件是自动生成的,不能再此文件里进行修改,此文件是包含在widget.h的一个叫Ui的命名空间中 * 所以把 * #include <QtCharts> * QT_CHARTS_USE_NAMESPACE * 放在.h文件里面*/#include <QtCharts>QT_CHARTS_USE_NAMESPACE
Custom Chart Example 这个示例展示了如何定制图表上不同元素的外观。
#include <QApplication>#include <QtWidgets/QApplication>#include <QtWidgets/QMainWindow>#include <QtCharts/QChartView>#include <QtCharts/QLineSeries>#include <QtCharts/QCategoryAxis>#include <QtCharts>using namespace QtCharts;int main(int argc, char *argv[]){ QApplication a(argc, argv); QLineSeries *series = new QLineSeries(); *series << QPointF(0, 6) << QPointF(9, 4) << QPointF(15, 20) << QPointF(25, 12) << QPointF(29, 26); QChart *chart = new QChart(); chart->legend()->hide(); chart->addSeries(series); //定制曲线的颜色宽度 Customize series QPen pen(QRgb(0x02550)); pen.setWidth(2); series->setPen(pen); //自定义Chart字体颜色等 Customize chart title QFont font; font.setPixelSize(18); chart->setTitleFont(font); chart->setTitleBrush(QBrush(Qt::white)); chart->setTitle("Customchart example"); //自定义Chart背景 Customize chart background QLinearGradient backgroundGradient; backgroundGradient.setStart(QPointF(0, 0)); backgroundGradient.setFinalStop(QPointF(0, 1)); backgroundGradient.setColorAt(0.0, QRgb(0xd2d0d1)); backgroundGradient.setColorAt(1.0, QRgb(0x4c4547)); backgroundGradient.setCoordinateMode(QGradient::ObjectBoundingMode); chart->setBackgroundBrush(backgroundGradient); //自定义绘图的背景 Customize plot area background QLinearGradient plotAreaGradient; plotAreaGradient.setStart(QPointF(0, 1)); plotAreaGradient.setFinalStop(QPointF(1, 0)); plotAreaGradient.setColorAt(0.0, QRgb(0x555555)); plotAreaGradient.setColorAt(1.0, QRgb(0x55aa55)); plotAreaGradient.setCoordinateMode(QGradient::ObjectBoundingMode); chart->setPlotAreaBackgroundBrush(plotAreaGradient); chart->setPlotAreaBackgroundVisible(true); QCategoryAxis *axisX = new QCategoryAxis(); QCategoryAxis *axisY = new QCategoryAxis(); //自定义XY轴字体 Customize axis label font QFont labelsFont; labelsFont.setPixelSize(12); axisX->setLabelsFont(labelsFont); axisY->setLabelsFont(labelsFont); //自定义XY轴颜色 Customize axis colors QPen axisPen(QRgb(0xFFB400));//黄色 axisPen.setWidth(2); axisX->setLinePen(axisPen); axisY->setLinePen(axisPen); //自定义XY轴上显示的label的颜色 Customize axis label colors QBrush axisBrush(Qt::red); axisX->setLabelsBrush(axisBrush); axisY->setLabelsBrush(axisBrush); //自定义网格线和阴影 Customize grid lines and shades axisX->setGridLineVisible(false); axisY->setGridLineVisible(false); axisY->setShadesPen(Qt::NoPen); axisY->setShadesBrush(QBrush(QColor(0x99, 0xcc, 0xcc, 0x55))); axisY->setShadesVisible(true); axisX->append("low", 10); axisX->append("optimal", 20); axisX->append("high", 30); axisX->setRange(0, 30); axisY->append("slow", 10); axisY->append("med", 20); axisY->append("fast", 30); axisY->setRange(0, 30); chart->setAxisX(axisX, series); chart->setAxisY(axisY, series); QChartView *chartView = new QChartView(chart); chartView->setRenderHint(QPainter::Antialiasing); QMainWindow window; window.setCentralWidget(chartView); window.resize(400, 300); window.show(); return a.exec();}
0 0
- QT tips QChart chart demo
- Qt QChart,利用QChart绘制动态曲线
- Qt QChart 图形可视化
- Qt QChart 图形可视化
- Qt Charts 之 QChart Class
- Qt QChart 中 QValueAxis 和 QCategoryAxis 区别
- Qt Tips
- qt tips
- QChart应用
- QT之 QChart 显示实时动态曲线(模拟数据采集过程)
- QT Demo
- KDE/Qt Tips 004
- Qt's tips
- Symbian&Qt Tips
- QT Tips (持续更新)
- Qt Creator 使用tips
- Qt Little Tips
- DeviceDriver demo:Hello world . TIPS
- Myeclipse知识点
- Android中px与dip,sp与dip等的转换工具类
- (转)深入理解之 Android Handler(相当好!!!)
- 用回搠法解决八皇后问题的Java实现
- php之微信公众号开发(一)接入微信验证和创建自定义菜单
- QT tips QChart chart demo
- 分布式应用技术
- 数据结构实验之栈七:出栈序列判定
- 让互联网营销发挥百分百效果的方法!全在这里
- Java内存泄露原因详解
- ScroView布局不能撑满全屏
- IOS入职一个月
- codeforces 218D Choosing Capital for Treeland 树形DP
- JAVA实践归并排序