gtkmm 3ライブラリのsocket/plugコンセプトを使用してgnuplotウィンドウを自分のアプリケーションに埋め込もうとしています。私は公式ページhereの例に従っており、すべて正常に動作します。gnuplot 5ウィンドウをGtkmm 3に埋め込む
次に、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
その後、私は上の対応するウィンドウIDとx11出力にはgnuplotを実行します。私はgnuplotの中plot sin(x)
、私はプロットを表示するためにソケットウィンドウを期待していないが、何もしていたときに今
起こる私はここで間違っていますか?
私はUbuntu 16.04,64ビットを実行しています。
おそらく関連:[gnuplot x11ウィンドウをGtk3ソケットに埋め込むことはできません](http://stackoverflow.com/questions/41209199/cannot-embed-gnuplot-x11-window-into-gtk3-socket?rq=1) – user8153