7

GtkGrid で空の行を残す方法

例のようなボタンで gtkgrid を作成したい:

        0         1        2         3
   ------------------------------------------
0  |         |           button2           |      
   - button1 -------------------------------
1  |         |           button3           |
   -----------------------------------------
2  |         |           button4           |
   -----------------------------------------
3  |         |         |         |         |
   -----------------------------------------
4  |         |      button5      |         |
   -----------------------------------------

空の行(3)をグリッドに挿入し、この行をGUIでスペースとして表示する方法は?

ありがとう。

4

1 に答える 1

4

私は同様のタスクを達成しようとしていて、回避策を見つけました。GTK+3 を使用しています。3 行目のセルの 1 つに空のラベルを追加して、GTK が何も表示せずに行にスペースを割り当てられるようにしました。

あなたはこのようなことをすることができます(私は2番目button2が意図されていたと仮定していますbutton5):

// Declare widgets.
    GtkWidget *button1 = gtk_button_new_with_label("button1");
    GtkWidget *button2 = gtk_button_new_with_label("button2");
    GtkWidget *button3 = gtk_button_new_with_label("button3");
    GtkWidget *button4 = gtk_button_new_with_label("button4");
    GtkWidget *button5 = gtk_button_new_with_label("button5");
    GtkWidget *space = gtk_label_new("");
    GtkWidget *buttonGrid = gtk_grid_new();

//  Attach to the grid.
    gtk_grid_attach(GTK_GRID(buttonGrid),button1,0,0,1,2);
    gtk_grid_attach(GTK_GRID(buttonGrid),button2,1,0,3,1);
    gtk_grid_attach(GTK_GRID(buttonGrid),button3,1,1,3,1);
    gtk_grid_attach(GTK_GRID(buttonGrid),button4,1,2,3,1);
    gtk_grid_attach(GTK_GRID(buttonGrid),button5,1,4,2,1);
    gtk_grid_attach(GTK_GRID(buttonGrid),space,2,3,1,1);
    gtk_grid_set_column_homogeneous(GTK_GRID(buttonGrid),TRUE); 

これにより、次のようなレイアウトが生成されます。 レイアウト制作

于 2013-05-05T14:31:32.197 に答える