Gladeを使用してGTK GUIを構築しました。これはアプリケーションで使用できる* .gladeファイルがあることを意味します。私はそれらとやりとりするウィジェットを手に入れることができましたが、シグナルハンドラをメニューエントリにどのように接続できるかについてはわかりません。gtkmm/glade - シグナルハンドラをMenuShellに接続する
接続したい信号は、メニュー項目をクリックしたときに放射される信号です。あなたがあなたのウェブブラウザでやっているのと同じように、ファイルに行き、1つのエントリをクリックします。
そのイベントの名前は何ですか、そしてgtkmm関数は何を呼び出すのですか? 私はどの要素と対話しようとすべきか混乱しています。それはGtkMenu、GtkMenuShell ...ですか? Gladeのインターフェースからそれを行うことはできますか?
最初はイベントがactivate-current
だと思っていましたので、ボタンのclicked
イベントのように、論理的に接続するメソッドを使用しようとしました。
Gtk::MenuShell* help_menu; p_builder->get_widget("helpMenu", help_menu); help_menu->signal_activate_current().connect(sigc::ptr_fun(&on_help_menu_activate_current));
src/GUI.cpp:11:16: error: ‘class Gtk::MenuShell’ has no member named ‘signal_activate_current’ help_menu->signal_activate_current().connect(sigc::ptr_fun(&on_help_menu_activate_current));