Я новичок в разработке Linux и Vala/Gtk. Я стараюсь учиться, насколько могу, при тестировании различных функций.Vala/GTK3 set widget height
На этот раз я попытался создать приложение графического интерфейса, и я застрял в настройке высоты виджета. Глядя на документы valadoc и gnome, я не мог найти никакого способа сделать это.
Так, например, если у меня есть две кнопки на горизонтальной коробке, как мне изменить размер высоты Box()
?
Это код, я прямо сейчас:
var hBox = new Gtk.Box(Gtk.Orientation.HORIZONTAL, 0);
hBox.set_spacing(-10);
hBox.set_homogeneous(true); // Same width of buttons
// Set margins of maim menu icons
hBox.set_margin_start(30);
hBox.set_margin_end(30);
hBox.set_margin_top(10);
// Top buttons (Main | Notifications)
var btnMain = new Gtk.Button.with_label("Main");
var btnNotif = new Gtk.Button.with_label("Notifications");
nixnMain.add(hBox);
hBox.pack_start(btnMain);
hBox.pack_start(btnNotif);
Я попытался сейчас несколько вариантов, включая set_margin_bottom()
, get_request_mode()
and size_allocate()
, также get_preffered_size()
и некоторые другие из страницы Docs.
Кроме того, как я могу указать виджет «класс», например, если мой CSS похож на ниже, как указать кнопку, чтобы иметь класс buttonMain?
#buttonMain {
background-color: black;
}
Спасибо!
EDIT: изображения при условии
Использование hBox.set_margin_bottom(Screen.height() + 50);
я получил результат, как в изображении ниже, но я хочу, высота серых кнопок меньше.
Image
Можете ли вы предоставить скриншоты того, что вы хотите и что получите? Для добавления класса это выполняется через связанный с виджетам GtkStyleContext. – andlabs
Я отредактировал сообщение. Пожалуйста, взгляните сейчас. – sensation