如何在QCustomPlot中打开OpenGL加速?

时间:2019-05-25 02:02:20

标签: qt qcustomplot

我的Qt版本是5.12.2。我在.pro文件中添加了DEFINES + = QCUSTOMPLOT_USE_OPENGL。我的.pro文件如下所示:

#-------------------------------------------------
#
# Project created by QtCreator 2019-04-05T21:23:52
#
#-------------------------------------------------

QT       += core gui
QT       += charts
QT       += network


greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport

TARGET = oscilloscope_msvc2015
TEMPLATE = app

# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS
DEFINES += QCUSTOMPLOT_USE_OPENGL


# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
CONFIG += c++11

SOURCES += \
        main.cpp \
        mainwindow.cpp \
    fourier.cpp \
    plotdata.cpp \
    datathread.cpp \
    axisthread.cpp \
    qcustomplot.cpp

HEADERS += \
        mainwindow.h \
    fourier.h \
    plotdata.h \
    datathread.h \
    axisthread.h \
    qcustomplot.h

FORMS += \
        mainwindow.ui \
    fourier.ui

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

RESOURCES += \
    res.qrc

但是当我使用setOpenGl(true)打开OpenGL时,它会不断报告错误:

void QCustomPlot::setOpenGl(bool, int) QCustomPlot can't use OpenGL because QCUSTOMPLOT_USE_OPENGL was not defined during compilation (add 'DEFINES += QCUSTOMPLOT_USE_OPENGL' to your qmake .pro file)

那么如何在QCustomPlot中打开OpenGL加速?

1 个答案:

答案 0 :(得分:1)

尝试运行 qmake ,然后重建
我遇到了这个问题,这样做之后就没事了。