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`
結果
