内容

更新日: 2005/9/26
バージョン: gtkmm24

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

TOP

ファイル選択ダイアログ

概要

Gtk::FileChooserDialogを使ってファイル選択ダイアログを表示する。

基本的にはGtk::MessageDialogと同様にすれば良いが、開くボタンとキャンセルボタンは自前で add_buttonする必要がある。ファイル名はGtk::FileChooser::get_filename() で取得する。

ソース

filediag.cpp

#include <gtkmm.h>

class MainWin : public Gtk::Window
{
    Gtk::Label m_label;

public:
    MainWin();
};


MainWin::MainWin()
{
    Gtk::FileChooserDialog diag( "ファイル選択", Gtk::FILE_CHOOSER_ACTION_OPEN );

    // 開く、キャンセルボタン
    diag.add_button(Gtk::Stock::OPEN, Gtk::RESPONSE_OK);
    diag.add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);

    // フィルタ
    Gtk::FileFilter filt;
    filt.set_name("すべて");
    filt.add_pattern("*");
    diag.add_filter( filt );

    switch( diag.run() ){

        case Gtk::RESPONSE_OK:
            m_label.set_text( diag.get_filename() );
            break;

        case Gtk::RESPONSE_CANCEL:
            m_label.set_text( "Cancel" );
            break;
    }

    add( m_label );
    show_all_children();
    resize( 200, 100 );  
}


int main( int argc, char *argv[] )
{
    Gtk::Main kit( argc, argv );
    MainWin mainwin;
    Gtk::Main::run( mainwin );

    return 0;
}

コンパイル

必要なコンパイルオプションは pkg-config を使って取得する。

g++ filediag.cpp -o filediag `pkg-config gtkmm-2.4 --cflags --libs`

結果

実行するとファイル選択ダイアログが表示され、選択したファイル名がラベルに表示される。