【问题标题】:How to insert QChartView in form with Qt Designer?如何使用 Qt Designer 在表单中插入 QChartView?
【发布时间】:2018-06-29 23:30:14
【问题描述】:

我想在表单中添加QChart。但我在小部件框中找不到它。所以我在代码中创建了它。如何将其插入 QWidgetQFrame 或其他内容?

我想在 QtDesigner 中设置那个小部件的区域。

【问题讨论】:

    标签: qt qt5 qt-designer qchart qchartview


    【解决方案1】:

    选项 1:推广

    我想你的意思是插入一个 QChartView,因为 QChartView 继承自 QGraphicsView,这将是一个不错的选择,为此我们执行以下操作:

    1. 先在.pro中添加QT += charts
    2. 将 QGraphicsView 放置到设计中。
    3. 右击QGraphicsView并选择Promote to...
    4. 执行上述操作时,会出现一个菜单,在菜单中应该在Promoted Class Name中设置QChartView,在Header file中设置QtCharts,然后按add按钮,最后按promote .

    部分步骤截图:

    [3.]

    [4.1]

    [4.2]

    同样可以使用QWidget 作为基础而不是QGraphicsView

    为什么选择一个或另一个小部件作为基础?

    之所以选择它是因为Qt Designer通过moc默认建立了某些属性,如果widget没有那个方法那么它就不会编译。由于所有小部件都继承自 QWidget,这将是任何新小部件在 Qt Designer 中推广它的基础。

    在下面的link你会找到一个例子。


    选项 2:QtChart 插件

    另一种选择是为QtDesigner 编译QtChart 插件,为此您必须从以下link 下载5 个文件:

    然后执行以下操作:

    qmake
    make
    sudo make install
    

    最后你可以在Qt Designer中访问QtCharts::QChartView

    【讨论】:

    • 别忘了在你的代码中调用chartView.setChart(chart)
    • 很好的答案。如果使用CMakeList.txt 而不是qmake(.pro 文件),则需要在find_package 中添加Charts 作为Qt5 COMPONENT(例如:find_package(Qt5 COMPONENTS Widgets Charts REQUIRED)和target_link_libraries 中的Qt5::Charts (例如:target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Widgets Qt5::Charts
    • 在哪里可以找到 .pro?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-16
    • 2019-03-10
    • 2020-04-30
    • 2020-07-17
    • 2020-10-23
    • 1970-01-01
    相关资源
    最近更新 更多