首页 > 其他分享 >QT使用QtCharts创建图表

QT使用QtCharts创建图表

时间:2023-09-13 14:34:29浏览次数:48  
标签:图表 QT series chart QtCharts set0 categories new append

QT使用QtCharts创建图表 

QT使用QtCharts创建图表_QT


工程pro文件需要添加

QT += charts

注意需要引用

#include <QtCharts>
QT_CHARTS_USE_NAMESPACE

动手实践代码

QBarSet *set0 = new QBarSet("座席状态");
    set0->append(6);
    set0->append(3);
    set0->append(2);
    set0->append(1);
    set0->append(1);
    set0->append(1);
    set0->append(1);

    //set0->setColor(Qt::magenta); //设置柱子颜色  同一个QBarSet这里测试不能为每根柱子单独设置颜色或随机生成颜色

    QBarSeries *series = new QBarSeries();
    series->append(set0);

    series->setLabelsVisible(true);//柱子标签数字显示否
    series->setLabelsPosition(QAbstractBarSeries::LabelsInsideBase);//柱子标签数字显示位置
    //LabelsCenter = 0,        LabelsInsideEnd,        LabelsInsideBase,        LabelsOutsideEnd

    QChart *chart = new QChart();
    chart->addSeries(series);
    chart->setTitle("呼叫中心");
    chart->setAnimationOptions(QChart::SeriesAnimations);

    QStringList categories;
    categories.append("就绪");
    categories.append("示忙");
    categories.append("排队");
    categories.append("振铃");
    categories.append("通话");
    categories.append("外拨");


    QBarCategoryAxis *axis = new QBarCategoryAxis();
    QFont Font1("Microsoft YaHei", 30, 254);
    axis->setLabelsFont(Font1);
    //axis->setLabelsColor(Qt::red);

    axis->append(categories);
    chart->createDefaultAxes();
    chart->setAxisX(axis, series);

     //chart->legend()->setVisible(false);
     chart->legend()->setAlignment(Qt::AlignBottom);
     //  chart->legend()->setAlignment(Qt::AlignRight);
     chart->legend()->setColor(QColor(222,233,251));//设置颜色

     QChartView *chartView = new QChartView(chart);
     chartView->setRenderHint(QPainter::Antialiasing);


      auto lb=new QLabel(tr("图表测试"));
      lb->setAlignment(Qt::AlignCenter);

      QFont Font("Microsoft YaHei", 30, 254);//字休大小颜色
      lb->setFont(Font);
      auto h2=new QHBoxLayout;
      h2->addWidget(lb);

      auto layoutMain=new QVBoxLayout;
      layoutMain->addLayout(h2);       
      layoutMain->addWidget(chartView);

     this->setLayout(layoutMain);
     this->setWindowTitle("图表测试QChartView");
     this->resize(800,600);

窗体整体缩小柱子下方的文本不显示了

QT使用QtCharts创建图表_QtCharts_02

标签:图表,QT,series,chart,QtCharts,set0,categories,new,append
From: https://blog.51cto.com/u_12668715/7455048

相关文章

  • Qt Debug 不下去的一个解决方法
    今天遇到一个难题。在debug时,使用qt函数载入自写的dll时,载入时,崩溃。如果不用F5可以顺利运行删除临时文件文件夹等方式都试过,问题依然存在。当我删除所有的断点后,重新编译,然后设置断点,跟踪运行正常。问题原因没有找到。错误关键词:ZwMapViewOfSection ......
  • qt QFileDialog 保存文件 没有扩展名
    way1.根据selectedNameFilter 接受类型选择 您希望在选择不同文件类型时自动添加扩展名,您可以在用户选择文件后检查文件的扩展名并自动添加相应的扩展名。以下是一个示例,演示如何在用户选择文件后自动添加扩展名: QFileDialogdialog(this);dialog.setFileMode(QFileDial......
  • RocketMQ-(9-1)-MQTT-EventBridge概述
    RocketMQMQTT概览传统的消息队列MQ主要应用于服务(端)之间的消息通信,比如电商领域的交易消息、支付消息、物流消息等等。然而在消息这个大类下,还有一个非常重要且常见的消息领域,即IoT类终端设备消息。近些年,我们看到随着智能家居、工业互联而兴起的面向IoT设备类的消息正在呈爆炸式......
  • win10安装pyqt5
     安装pipinstallPyQt5-ihttps://pypi.douban.com/simplepipinstallPyQt5-tools-ihttps://pypi.douban.com/simple测试designer验证importsysfromPyQt5.QtWidgetsimportQWidget,QApplicationapp=QApplication(sys.argv)widget=QWidget()widget.resize(......
  • C++系列三:Qt-for-Python
    目录代码参考:代码参考:官方文档、博客参考代码参考:self.ui.pushButton.setText("demo")lable=QLabel("<fontcolor=redsize=40>HelloWorld!</font>")lable.show()SignalsandSlots:fromPySide6.QtCoreimportSlot@Slot()defsay_hello():......
  • C++系列三:QT-事件处理
    目录介绍:介绍:GUI应用程序是由事件(event)驱动的,点击鼠标,按下按键,窗口大小改变等等按事件的来源,可以将事件划分为3类:自生事件(spontaneousevent):由窗口系统产生,如:QKeyEvent、QMouseEvent。自生事件会进入系统队列,等待事件循环的处理。发布事件(postedevent):是由Qt应用程序产生,如:Q......
  • Qt 中使用mplayer播放音乐不能是中文歌名
    错误代码:Qt中Filenotfound:'./music/��ͤ��.mp3'如果在Qt中无法正确识别包含中文字符的文件名,可能是因为默认的文件编码不支持中文字符解决方案:本人前两种方案均不可解决问题,方案三解决问题。方案1:使用Unicode路径:将文件路径从字符串字面值转换为Unicode字符。例如,使用QSt......
  • QTableView部分基本使用、与数据库搭建
    创建一个QSqlTableModel来管理数据库表格的数据,可以在后续步骤中使用这个模型来与表格内容进行交互。QSqlTableModel*model=newQSqlTableModel;model->setTable("your_table_name");//设置表格名称model->select();//从数据库中选择数据设置QTableView模型:将QSqlTableMo......
  • 纯C++代码理解Qt中的信号和槽函数
    槽函数的调用是一个多步骤的过程:1.连接(Connect)首先,通过使用QObject::connect()函数来建立信号和槽之间的连接。QObject::connect(sender,SIGNAL(signalName(args)),receiver,SLOT(slotName(args)));这里的sender和receiver是QObject派生的对象,而signalName和slotName则分......
  • 如何在图表中配置一个能够在移动端响应的DataZoom组件?
    要在图表中配置一个能够在移动端响应的DataZoom组件,可以通过以下几个步骤实现:引入必要的依赖:确保在你的项目中引入了相关的图表库以及移动端响应式插件。常用的图表库有ECharts、Highcharts、Chart.js等,而移动端响应式插件通常是这些库本身已经内置的。创建图表容器:在HTML中......