Wie verwendet man GTK Constraints/ConstraintTarget mit gtkmm?C++

Programme in C++. Entwicklerforum
Anonymous
 Wie verwendet man GTK Constraints/ConstraintTarget mit gtkmm?

Post by Anonymous »

Konkret versuche ich, eine Beschriftung auf eine Breite zu beschränken, die nicht größer als eine (von einer Klasse abgeleitete) Skala ist. Beide werden innerhalb eines (von einem) Rasters platziert.
TLDR: Wie übergebe ich die Widgets als ConstraintTargets an Gtk::Constraint::create?
Nach meinem Verständnis sollte ich die Einschränkung erstellen, mit dem Ziel als Beschriftung, der Quelle als Maßstab und dem entsprechenden Attribut und der entsprechenden Beziehung. Dann würde ich die Einschränkung zu einem ConstraintLayout hinzufügen und dieses Layout als Layout-Manager meines Rasters festlegen, mit Code, der wie folgt aussieht:

Code: Select all

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);
Wenn das alles richtig wäre, bin ich sehr verwirrt darüber, wie ich mein Label und meine Skalierung tatsächlich an Constraint::create übergeben soll.
Ich weiß, dass erwartet wird, dass die Ziel- und Quellargumente Glib::RefPtr& sind, aber ich bin verloren. Wie würde ich meine Widgets eigentlich als ConstraintTargets zur Verwendung hier übergeben?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post