繁体   English   中英

在现有的QtWidget中嵌入gnuplot

[英]Embed gnuplot inside existing QtWidget

我正在用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.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM