内容

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

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

TOP

Boxにスペーサを入れる

概要

Gtk::HBoxを使ってウィジットを並べるときに、ウィジット間に 任意サイズのスペーサを挿入する。

Gtk::Widgetを派生させて空白のSpacerクラスを作りそれを挟み込む。

ソース

space.cpp

#include <gtkmm.h>

// スペーサ
class Spacer : public Gtk::Widget
{
public:
    Spacer(){ set_flags( Gtk::NO_WINDOW ); }
};

class MyBox : public Gtk::Window
{
    Gtk::Button m_bt1, m_bt2;
    Spacer m_space;
    Gtk::HBox m_hbox;

public:
    MyBox();
};

MyBox::MyBox() : m_bt1( "button1" ),  m_bt2( "button2" )
{
    m_hbox.pack_start( m_bt1, Gtk::PACK_SHRINK );

    m_space.set_size_request( 50, 0 );
    m_hbox.pack_start( m_space, Gtk::PACK_SHRINK );

    m_hbox.pack_start( m_bt2, Gtk::PACK_SHRINK );

    add( m_hbox );
    show_all_children();
    resize( 300, 50 );
}

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

    return 0;
}

コンパイル

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

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

結果