如何在 Qt Designer 中安装 QChartView?

Posted

技术标签:

【中文标题】如何在 Qt Designer 中安装 QChartView?【英文标题】:How to install QChartView in Qt Designer? 【发布时间】:2019-04-02 13:09:59 【问题描述】:

我的问题与本主题中的问题相同:How to insert QChartView in form with Qt Designer? 但是我仍然无法解决它。 我尝试下载插件,但在终端输入 qmake 后,出现以下错误:

未知的测试函数:qtHaveModule

另一方面,我也不能使用第一个解决方案。我在哪里可以找到 Qt Designer(不是 qt creator)中的 .pro 文件?

提前谢谢你。

【问题讨论】:

【参考方案1】:

这个问题通常是因为您使用旧版本的 qmake 配置项目,通常是 Qt4。

QtChart 仅在现代版本的 Qt 中可用。如果您使用的是 QtCreator,这些是更新构建系统的步骤:

转到:

Tools -> Options...

之后,转到:

Kits -> Qt Versions

通常您应该看到已安装的不同版本的 Qt。检查您是否可以看到 Qt 的现代版本,QtCharts 2.0 发布时使用 Qt 5.6.0,所以这是您的最低版本。

现在,更新您的工具包。如果您正在编译桌面应用程序,请检查您的默认工具包或您正在使用的工具包是否使用正确的 Qt 版本。您会找到一个组合框,您可以在其中选择正确的组合框。

之后,更新并再次运行 qmake。

关于您的第二个问题,您无需在 QtDesigner 中编辑您的 pro 文件,而是在 QtCreator 中进行。基本上,打开您的项目并添加 Qt 依赖项:

QT += charts

现在,打开您的 mainwindow.ui 文件或您要在其中插入图表视图的文件,然后按照您链接的帖子的步骤操作。

示例:

这是一个经典的 .pro 配置:

QT += charts 
SOURCES += \ main.cpp

在您的主文件中,您应该始终在顶部添加QT_CHARTS_USE_NAMESPACE。例如,要显示折线图,您可以执行以下操作:

#include <QtWidgets/QApplication>
#include <QtWidgets/QMainWindow>
#include <QtCharts/QChartView>
#include <QtCharts/QLineSeries>

QT_CHARTS_USE_NAMESPACE

int main(int argc, char *argv[])

    QApplication a(argc, argv);

    // Create your time series
    QLineSeries *series = new QLineSeries();
    series->append(0, 6);
    series->append(2, 4);
    series->append(3, 8);
    series->append(7, 4);
    series->append(10, 5);
    *series << QPointF(11, 1) << QPointF(13, 3) << QPointF(17, 6) << QPointF(18, 3) <<   QPointF(20, 2);

    // Configure your chart
    QChart *chart = new QChart();
    chart->legend()->hide();
    chart->addSeries(series);
    chart->createDefaultAxes();
    chart->setTitle("Simple line chart example");

    // Create your chart view
    QChartView *chartView = new QChartView(chart);
    chartView->setRenderHint(QPainter::Antialiasing);

    // Display into a main window
    QMainWindow window;
    window.setCentralWidget(chartView);
    window.resize(400, 300);
    window.show();

    return a.exec();

来源:Qt Example。

您只需要为您的特殊情况替换最后一部分:

...

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)

    ui->setupUi(this);

    ...
    // chartView is the name of the widget your promoted
    ...

    // Create your chart view
    ui->chartView->setRenderHint(QPainter::Antialiasing);
    ui->chartView->setChart(chart);


【讨论】:

感谢您的回答。不幸的是,我还不能投票;)

以上是关于如何在 Qt Designer 中安装 QChartView?的主要内容,如果未能解决你的问题,请参考以下文章

QT之QChar

如何在alpine 3.12中安装qt4

如何在 Windows 7 的 Eclipse 中安装 Qt-Jambi?

如何通过虚拟机在fedora14中安装qt

QT-QString与Qchar

如何在 CentOS 中安装 qt4-dev-tools 和 qt4-qmake