内容

更新日: 2005/6/22
バージョン: gtkmm24

■ 概要
■ ソース
■ コンパイル
■ 結果

TOP

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`

結果