Как разместить виджеты с помощью Gtk :: Grid аналогично Gtk :: Table в Gtkmm-3

Изначально я выучил pyGtk. Через несколько месяцев я решил перейти на Gtkmm. Чтение официальной документации говорит о том, что Gtk :: Table устарела, и вместо этого я должен использовать Gtk :: Grid.

Если я хочу разместить виджет между 2-й и 3-й строкой и между 4-м и 5-м столбцами, я использую этот код с Gtk :: Table.

// Create variable.
Gtk::Table table;

//Initiate table.
table(10,10,true);

//Place the widget in the proper position.
// table.attach(widget, left_attach, right_attach, top_attach, bottom_attach);
table.attach(widget,4,5,2,3);

После прочтения о Gtk :: Grid я попробовал то же самое, но на этот раз использовал Gtk :: Grid.

// Create variable.
Gtk::Grid grid;

//Place the widget in the proper position.
//grid.attach(widget, left, top, higth, width);
grid.attach(widget,4,2,1,1);

Но когда я пытаюсь последний код, виджет (кнопка) остается в левом верхнем углу. Кто-нибудь знает, что я делаю не так? Имеет ли Gtk :: Grid возможность делать то, что я хочу?

0

Решение

Кнопка остается в верхнем левом углу, потому что в первой строке или первых трех столбцах нет других виджетов, которые бы занимали какое-либо место, поэтому они сворачиваются до нуля.

Вероятно, вы хотите

grid.set_row_homogeneous(true);
grid.set_column_homogeneous(true);

с последующим добавлением пустых виджетов в позиции 0, 0 и 9, 9, чтобы убедиться, что сетка имеет 10 строк и 10 столбцов.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]