2017-07-05 6 views
0

GtkBox内の2つのウィジェット間のマージンをすべて削除することはできますか?GtkBox間の暗黙のマージン

しようとしました:

GTK +バージョンそれでも2ピクセル効果的なマージン:3.18.9

ウィジェットのプロパティ:

Widget properties 1設定し、すべての結果

ゼロに

Widget properties 2

描画コード:予想されるように実際のサイズは22×22である

auto w_out=static_cast<double>(gtk_widget_get_allocated_width(widget)); 
auto h_out=static_cast<double>(gtk_widget_get_allocated_height(widget)); 

cairo_set_source_rgba(cr,self->m_background.red,self->m_background.green 
    ,self->m_background.blue,self->m_background.alpha); 
cairo_rectangle(cr,0,0,w_out,h_out); 
cairo_fill(cr); 

auto img=self->r_img; 
if(img!=nullptr) 
    { 
    //... 
    } 

レンダリング結果

Result

すべてのテーマが同じ動作をしますので、これは、テーマ設定の問題ではないようです。

答えて

0

解決策が見つかりました。私はGtkBoxのスペースが0ではなかった。

0

私は同じのGtk版で試してみた:

$ rpm -q gtk3-devel 
gtk3-devel-3.18.9-1.fc23.x86_64 

と見ることができるように、それはいかなる国境なしで仕事をした:

Screenshot

画像が集中しているため、水平方向の配置にセンターとして設定します。最小サイズにウィンドウのサイズを変更:画像が使用

Screenshot

た元の(22×22ピクセル)から収穫:

Screenshot

結論

を使用すると思われますカスタムウィジェットを作成していますが、欠けているものがあります(詳細が必要です)。定期的なウィジェット(GtkImagesはGtkBoxにパックされており、gladeでテストされています)からうまくいくようです。

関連する問題