Rust 使用GTK和防锈剂。单击按钮时显示图像,但根据变量更改图像

Rust 使用GTK和防锈剂。单击按钮时显示图像,但根据变量更改图像,rust,gtk,Rust,Gtk,我正在尝试使用rust制作一个21点游戏,主要逻辑运行得相当顺利,因此我开始使用GTK实现GUI,但动态更改图像时遇到一些问题 当我点击hit时,我想运行我的hit功能,该功能将弹出一张牌并检查半身像。然后,我希望该卡显示在屏幕上。我正在使用glade来设置它,但是我不知道如何更改图像文件的路径。我可以在glade中选择路径,但显然我需要它根据绘制的卡进行更新 这是迄今为止我从教程中复制并稍加修改的代码 使用gio::prelude::*; 使用gtk::前奏::*; 使用gtk::应用程序;

我正在尝试使用rust制作一个21点游戏,主要逻辑运行得相当顺利,因此我开始使用GTK实现GUI,但动态更改图像时遇到一些问题

当我点击hit时,我想运行我的hit功能,该功能将弹出一张牌并检查半身像。然后,我希望该卡显示在屏幕上。我正在使用glade来设置它,但是我不知道如何更改图像文件的路径。我可以在glade中选择路径,但显然我需要它根据绘制的卡进行更新

这是迄今为止我从教程中复制并稍加修改的代码

使用gio::prelude::*;
使用gtk::前奏::*;
使用gtk::应用程序;
使用std::env;
pub fn new(){
让app=Application::new(一些(“com.game”),gio::ApplicationFlags::FLAGS\u NONE)
.expect(“未能初始化GTK”);
应用程序连接激活(应用程序){
让glade_src=包含_str!(“./layout.glade”);
让builder=gtk::builder::from_string(glade_src);
让窗口:gtk::window=builder.get_对象(“背景”).unwrap();
设置应用程序(一些(应用程序));
让hit_btn:gtk::Button=builder.get_对象(“hit_btn”).unwrap();
释放img_:gtk::Image=builder.get_对象(“玩家卡”).unwrap();
让img_out_clone=img_out.clone();
点击连接(移动){
img_out_clone.show();
});
window.show_all();
img_out.hide();
});
运行(&env::args().collect::());
}