TLDR: Как передать виджеты как ConstraintTargets в Gtk::Constraint::create?
Насколько я понимаю, я должен создать ограничение с целью в качестве метки, источником в качестве масштаба и соответствующим атрибутом и отношением. Затем я бы добавил ограничение в ConstraintLayout и установил этот макет в качестве менеджера макета моей сетки с кодом, который выглядит следующим образом:
Код: Выделить всё
Gtk::Label label("Example");
Gtk::Scale scale(Gtk::Orientation::HORIZONTAL);
Gtk::Grid grid;
int size = 300;
scale.set_size_request(size, -1);
grid.attach(label, 0, 0);
grid.attach(scale, 0, 1);
auto constraint = Gtk::Constraint::create(
// ?? label, somehow
Gtk::Constraint::Attribute::WIDTH,
Gtk::Constraint::Relation::LE,
// ?? scale, somehow
Gtk::Constraint::Attribute::WIDTH,
1.0,
0.0
);
auto layout = Gtk::ConstraintLayout::create();
layout->add_constraint(constraint);
grid.set_layout_manager(layout);
Я знаю, что он ожидает, что аргументами цели и источника будут Glib::RefPtr&, но я запутался. Как мне передать свои виджеты как ConstraintTargets для использования здесь?
Подробнее здесь: https://stackoverflow.com/questions/798 ... with-gtkmm
Мобильная версия