在现有的QtWidget中嵌入gnuplot

时间:2017-08-16 00:08:34

标签: c++ windows qt gnuplot

我正在用C ++创建一个(伪)实时绘图应用程序,使用gnuplot作为我的后端进行绘图。我的一个要求是,绘图必须位于现有窗口内,而不是具有单独的绘图窗口(gnuplot默认为)。

Gnuplot可以选择指定(Qt)小部件ID,这似乎符合我的用例:

set terminal qt widget <id>

我尝试将QtWidget::effectiveWinId()内的值传递无效。

更新:尝试使用窗口ID QtWidget::winId()的内部值,但也没有运气。

问题是我找不到<id>应该是什么的任何文档。这是gnuplot的开发者想要的吗?

以下是我的代码示例:

#include <QtWidgets/QApplication>
#include <QtWidgets/QWidget>
#include <QtNetwork/QLocalSocket>

int main()
{
    QApplication app(argc, argv);
    QWidget win(nullptr, Qt::Window);
    QWidget *window = win.window();
    win.show();
    std::cout << "effective win id: " << window->effectiveWinId() << "\n";
    std::cout << "effective win id: " << win.effectiveWinId() << "\n";
    return app.exec();
}

在gnuplot中:

gnuplot> set term qt widget <value from effectiveWinId>
gnuplot> plot x
Could not connect to existing qt widget. Starting a new one.

0 个答案:

没有答案