変更のために複数のディレクトリを監視する必要があります。私はGtk::Main
を使用しており、Gio::Init
を呼び出しており、ドキュメントが示唆している通りに正確にディレクトリモニタを追加しています。ただし、どのディレクトリに対してもコールバックは呼び出されません。モニター専用に別のループが必要ですか?その場合、どうすればGtk::Main
と一緒に使用できますか?gtkmmアプリケーションでGioファイルモニター
1
A
答えて
1
私はValaで同じ問題を抱えていましたが、ここでは完全な解決策です。
Andrea Azzaroneから指摘されているように、Gtk::Main
ループを使用できます。
ただし、Gio::FileMonitor
の参照には注意してください。関数の最後には破棄され、Gio::FileMonitor
オブジェクトへの参照を保持しないとコールバックは呼び出されません。
このアイデアはthis answerにあります。
1
Glt :: MainLoopなので、Gtk :: Mainループだけを使うことができます。
関連する問題
サンプルコードに従っていますか?こちらをご覧ください:http://svn.gnome.org/viewvc/gtkmm-documentation/trunk/examples/book/giomm/monitor_directory/monitor_directory.cc?revision=83&view=markup – Mark
はい、私はその例に従っています。問題は、 'Gtk :: Main'と' Glib :: MainLoop'を同時にどのように使うのでしょうか?明らかにGioのFileMonitorには 'Glib :: MainLoop'が必要です。私は別のスレッドを試してみましたが、うまくいかなかったのです。 – dav