如何在Rust Egui中设置标题颜色为白色并包装colored_label为标题?
解决方法
你可以直接通过自定义Label组件,同时指定标题文本样式和白色文本颜色来实现需求,不需要嵌套colored_label和Heading。Egui的Heading本质就是应用了TextStyle::Heading的Label,所以我们可以手动配置Label的样式:
修改后的render_date函数代码如下:
pub fn render_date(view: &mut InitView, ui: &mut eframe::egui::Ui) { let date = view.format_date_string(); ui.vertical_centered(|ui|{ ui.add_space(50.0); ui.horizontal(|ui|{ ui.add_space(50.0); // 自定义标题样式的白色文本 let heading_label = egui::Label::new(date) .text_style(egui::TextStyle::Heading) // 应用标题样式 .text_color(egui::Color32::WHITE); // 设置白色文本 ui.add(heading_label); }); }); }
这样做既满足了必须使用标题样式的要求(继承了TextStyle::Heading的所有样式规则,包括你自定义的全局样式),同时也将文本颜色设置为白色。
如果需要更精细的样式控制,还可以通过ui.style_mut()临时修改局部样式,但上面的方法已经足够简洁直接。
内容的提问来源于stack exchange,提问作者Terrell-byte
相关产品推荐
相关产品推荐

