Как динамичеки менять ширину элементов в egui/rust при горизонтальном расположении нескольких элементов?
Столкнулся со странным багом при работе в библиотеке EGUI с помощью RUST. По логике программы - необходимо вывести 2 text_edit_multiline в горизонтальной плоскости. Они должны занимать все доступное пространство и растягиватся. У меня прекрасно получается создавать такие блоки по 1. В этом случае использую следующий код. Он работает как требуется, но выводит поля в вертикальной плоскости.
fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) {
egui::CentralPanel::default().show(ctx, |ui| {
ui.heading("My egui Application");
ui.vertical_centered_justified(|ui| {
let field1_label = ui.label("Write your yaml here");
ui.text_edit_multiline(&mut self.field1)
.labelled_by(field1_label.id);
let field1_label = ui.label("Write your yaml here");
ui.text_edit_multiline(&mut self.field1)
.labelled_by(field1_label.id);
});
});
}
Если же я пытаюсь разместить элементы горизонтально - адаптивность теряется. В этом случае использую следующий код:
fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) {
egui::CentralPanel::default().show(ctx, |ui| {
ui.heading("My egui Application");
ui.vertical_centered_justified(|ui| {
ui.horizontal(|ui| {
let field1_label = ui.label("Write your yaml here");
ui.text_edit_multiline(&mut self.field1)
.labelled_by(field1_label.id);
let field1_label = ui.label("Write your yaml here");
ui.text_edit_multiline(&mut self.field1)
.labelled_by(field1_label.id);
});
});
});
кто-то может подсказать что я делаю неправильно? В идеале хотелось бы видеть разбиение ширины или высоты на число элементов в горизонтали/вертикали. В примерах подобного не нашел.

