如何解决使 Fyne 弹出菜单出现在鼠标位置
我一直在获取鼠标的位置。我想在鼠标位置显示 Fyne 弹出菜单但无法弄清楚。
这是我如何使用弹出窗口:
menuItem1 := fyne.NewMenuItem("A",nil)
menuItem2 := fyne.NewMenuItem("B",nil)
menuItem3 := fyne.NewMenuItem("C",nil)
menu := fyne.NewMenu("File",menuItem1,menuItem2,menuItem3)
popUpMenu := widget.NewPopUpMenu(menu,window.Canvas())
popUpMenu.ShowAtPosition(*Expect mouse position here*)
popUpMenu.Show()
我希望将鼠标位置作为 Fyne Position 放置在上述位置。但我不知道从哪里可以获得鼠标/光标位置。
这样弹出窗口总是卡在应用的左上角。
解决方法
PointEvent
被传递到实现交互的接口的方法中。按钮 OnTapped
隐藏了这些细节,因为它们通常不需要。
正如一些评论中所建议的,您应该像 fyne_demo 中的按钮那样围绕这一行扩展您想要响应的小部件:https://github.com/fyne-io/fyne/blob/c29a0624ed96ba1b8f45d903b6941824d50e0502/cmd/fyne_demo/tutorials/widget.go#L359
实施 Tapped(e *fyne.PointEvent)
是关键。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。