Gtk::Entryでテキストボックス入力
概要
Gtk::Entryを使って1行のテキストボックスを貼り付ける。enterキーを押すとsignal_activate()シグナルが発せられるので、 そのシグナルをスロット関数につないでenterを押したら テキストボックスの内容をダイアログに表示させる。
ソース
entry.cpp#include <gtkmm.h> class MainWin : public Gtk::Window { Gtk::Entry m_entry; public: MainWin(); private: void on_activate(); }; MainWin::MainWin() { m_entry.set_text( "テスト" ); // シグナルとスロットをコネクト m_entry.signal_activate().connect( sigc::mem_fun( *this, &MainWin::on_activate ) ); add( m_entry ); show_all_children(); } // enterを押したときに呼ばれるスロット関数 void MainWin::on_activate() { Gtk::MessageDialog( m_entry.get_text() ).run(); } int main( int argc, char *argv[] ) { Gtk::Main kit( argc, argv ); MainWin mainwin; Gtk::Main::run( mainwin ); return 0; }
コンパイル
必要なコンパイルオプションは pkg-config を使って取得する。g++ entry.cpp -o entry `pkg-config gtkmm-2.4 --cflags --libs`
結果
