使fne弹出菜单出现在鼠标位置



我在获取鼠标位置时卡住了。我想在鼠标的位置显示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()

我希望在上述位置将鼠标位置作为fne位置。但是我不知道从哪里可以得到鼠标/光标的位置。

这样弹出窗口就会一直停留在应用程序的左上角。

PointEvent传递到实现与交互有关的接口的方法中。按钮OnTapped隐藏了这些细节,因为它们通常不需要。

正如在一些评论中建议的那样,您应该像fyne_demo中的按钮一样扩展您想要响应此内容的小部件:https://github.com/fyne-io/fyne/blob/c29a0624ed96ba1b8f45d903b6941824d50e0502/cmd/fyne_demo/tutorials/widget.go#L359

实施Tapped(e *fyne.PointEvent)是关键。

相关内容

  • 没有找到相关文章

最新更新