内容

更新日: 2006/2/12
バージョン: gtkmm24

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

TOP

アイコンリストのセット

概要

様々なサイズのアイコンをウィンドウにセットする。

Gtk::Window::set_default_icon_from_file()でアイコンをセットすると アイコンのサイズによって潰れた表示になったりギザギザした表示になったりする。 そこで様々なサイズのアイコンをまとめてGtk::Window::set_default_icon_list() でセットすることによって表示サイズに応じて使用するアイコンを切替える。

推奨サイズは16x16,32x32,48x48(出来れば64x64,128x128も)である。

ソース

icon2.cpp

#include <gtkmm.h>

class MainWin : public Gtk::Window
{
public:
    MainWin();
    virtual ~MainWin(){}
};


MainWin::MainWin()
{
    resize( 100, 100 );
    show_all_children();
}


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

    // デフォルトのアイコンをセット
    try{
        std::vector< Glib::RefPtr< Gdk::Pixbuf > > iconlist;
        iconlist.push_back( Gdk::Pixbuf::create_from_file( "./gnome-terminal24.png" ) );
        iconlist.push_back( Gdk::Pixbuf::create_from_file( "./gnome-main-menu48.png" ) );
        Gtk::Window::set_default_icon_list( iconlist );
    }
    catch(...)
    {
        Glib::exception_handlers_invoke();
        exit(1);
    }

    MainWin hw;
    Gtk::Main::run( hw );

    return 0;
}

コンパイル

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

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

結果

アイコンのサイズに応じて違うアイコンが表示される