qcustomplot 绘图 1

周末,闲读,翻翻qcustomplot 例子。

以前用qchart, 实在无法接收这个类的低效。打开qchart, 仿佛在推一个滞重的铁门。qcustomplot 感觉轻快灵动。

1. 准备CMakeLists.txt

复制代码
cmake_minimum_required(VERSION 3.5)

project(plot_0 VERSION 0.1 LANGUAGES CXX)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets PrintSupport)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets PrintSupport)

set(PROJECT_SOURCES
        main.cpp
        window.cpp
        window.h
        ../plot/qcustomplot.h
        ../plot/qcustomplot.cpp
)

qt_add_executable(plot_0
    MANUAL_FINALIZATION
    ${PROJECT_SOURCES}
)

target_link_libraries(plot_0 PRIVATE Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::PrintSupport)

set_target_properties(plot_0 PROPERTIES
    WIN32_EXECUTABLE TRUE
)

install(TARGETS plot_0
    BUNDLE DESTINATION .
    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
复制代码

 

绘制一个基本图:

复制代码
   QWidget *w = new QWidget;
   QCustomPlot *plot = new QCustomPlot(w);
   ... 
   //设置窗口显示,属于qt 日常操作
   QVBoxLayout *layout = new QVBoxLayout(w);
   layout->setSpacing(6);
   layout->setContentsMargins(11, 11, 11, 11);
   layout->addWidget(plot);
   ...

    plot->addGraph();
    plot->graph(0)->setData(x, y);

    plot->xAxis->setLabel("x");
    plot->yAxis->setLabel("y");

    plot->xAxis->setRange(-1, 1);
    plot->yAxis->setRange(0, 1);
复制代码

 

posted on   金凯旋  阅读(50)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
历史上的今天:
2022-06-17 cmd执行程序时,自动跳出商店的解决办法
2022-06-17 cmd 闪退处理方法
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示