使用fyne.io捕获键盘按下事件

时间:2019-11-10 11:21:53

标签: go fyne

鉴于下面的代码创建了一个新的应用程序窗口以显示本地文件系统中的图片,我如何添加支持以检测“按键”事件并退出应用程序?

package main

import (
    "flag"
    _ "image/gif"
    _ "image/jpeg"
    _ "image/png"

    "fyne.io/fyne"
    "fyne.io/fyne/app"
    "fyne.io/fyne/canvas"
    "fyne.io/fyne/widget"
)

func main() {

    flag.Parse()
    a := app.New()

    w := a.NewWindow("Image Viewer")

    img := canvas.NewImageFromFile("/home/mh-cbon/Images/7.png")
    img.FillMode = canvas.ImageFillContain
    scroll := widget.NewScrollContainer(img)
    scroll.Resize(fyne.NewSize(400, 400))
    w.SetContent(scroll)

    w.Resize(fyne.NewSize(400, 400))
    w.Show()

    a.Run()
}

1 个答案:

答案 0 :(得分:3)

解决方案非常简单。

    w.Canvas().SetOnTypedKey(func(k *fyne.KeyEvent) {
        w.Close()
    })