typecontextMenuButtonstruct{widget。Buttonmenufyne。Menu}func(bcontextMenuButton)Tapped(efyne。PointEvent){widget。ShowPopUpMenuAtPosition(b。menu,fyne。CurrentApp()。Driver()。CanvasForObject(b),e。AbsolutePosition)} Fyne中onclick事件即Tap。给wiget扩展对应的点击事件实现函数即可:func(wexternWiget)Tapped(efyne。PointEvent){}左键点击func(mexternWiget)DoubleTapped(efyne。PointEvent){}左键双击func(mexternWiget)TappedSecondary(efyne。PointEvent){}右键点击 比较难受的问题是,如果你想给任何GUI添加重画功能,简直不可能。因为Fyne框架没有提供任何能重画的接口。比如给label扩展一下,增加一个点击改变字体颜色和背景色的功能,这段代码在Tapped函数中就无法实现。拿到canvas但是没有接口重画。即使你直接NewLabel了,也无法改变原label的UI。试了在grid中点击cell重画,但是失败了。