【问题标题】:Embedding gnuplot 5 window into Gtkmm 3将 gnuplot 5 窗口嵌入 Gtkmm 3
【发布时间】:2017-09-09 02:11:13
【问题描述】:

我正在尝试使用 gtkmm 3 库中的套接字/插头概念将 gnuplot 窗口嵌入到我的应用程序中。我已经按照官方页面here中的示例进行操作,一切都按预期进行。

然后我开始嵌入 gnuplot 窗口。我修改了socket.cpp如下:

#include <iostream>
#include <fstream>
#include <gtkmm.h>
#include <gtkmm/socket.h>

using namespace std;

class MySocketWindow : public Gtk::Window
{
  public:
    MySocketWindow()
    {
        auto socket = Gtk::manage(new Gtk::Socket());
        add(*socket);

        cout << "Socket id is: " << hex << socket->get_id() << endl;

        show_all();
    }
};

int main(int argc, char** argv)
{
  auto app = Gtk::Application::create(argc, argv, "org.gtkmm.example.socket");
  MySocketWindow win;
  app->run(win);
  return 0;
}

我使用以下代码编译/构建代码:

g++ --std=c++11 socket.cpp -o socket `pkg-config gtkmm-3.0 --cflags --libs`

然后运行它。出现一个黑色套接字窗口,终端上打印有Socket id is 3e0000b 消息。

.\socket

然后我在 x11 终端中运行 gnuplot,上面对应的窗口 id:

现在,当我在 gnuplot 中 plot sin(x) 时,我期待套接字窗口显示情节,但没有任何反应。我在这里做错了什么?

我正在运行 Ubuntu 16.04,64 位。

【问题讨论】:

标签: c++ gnuplot


【解决方案1】:

我在 gnuplot 的网站上找到了问题的原因 - 请参阅我的 original 问题。现在剩下的就是在套接字的网站上找到如何修复它了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    相关资源
    最近更新 更多