我试图像在Nautilus中那样在GtkPopover中创建一个按钮,而Nautilus为此使用GtkModelButton。问题是GtkModelButton强制使用GAction API,我认为这很丑陋,我更喜欢使用回调。

我已经尝试过使用GtkButton,但它看起来与GtkModelButton完全不同。

我的问题是,如何使GtkModelButton与mb.Connect("clicked", ...)一起使用?如果这不起作用,那么如何使GtkButton看起来像GtkModelButton呢? button.SetRelief(None)并没有真正完成这项工作。

型号按钮

go - 如何使GtkModelButton发出点击信号而不是GAction?-LMLPHP

ModelButton vs Relief(无)按钮

go - 如何使GtkModelButton发出点击信号而不是GAction?-LMLPHP

最佳答案

看来这比我想象的要容易。我要做的就是将处理程序连接到button-release-event!

btn, _ := gtk.ModelButtonNew()
btn.SetLabel("Click Me!")
btn.Connect("button-release-event", func() bool {
    log.Println("Button pressed.")
    return true
})

关于go - 如何使GtkModelButton发出点击信号而不是GAction?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60680089/

10-12 16:04