Gtk Radio Buttons在Julia的回调



我正在尝试恢复我的旧代码,它在Julia中使用了单选按钮。然而,回调似乎不起作用(类似于复选框和按钮的回调起作用(。这里有一个最小的例子:

using Gtk
function test()
win = GtkWindow("Radio Button Test")
vbox = GtkBox(:v)
push!(win, vbox)
choices = ["first", "second", "third", "fourth"]
radios = [GtkRadioButton(choice) for choice in choices]
set_gtk_property!(radios[1], :active, true)
for r in radios
set_gtk_property!(r, :group, radios[1])
signal_connect(r, "toggled") do _
warn_dialog("Changed to: $(choices[findfirst(radios, r)])")
end
push!(vbox, r)
end
showall(win)
nothing
end

我做错了什么?

更新:我已经更新到了最新版本(Julia 1.4.1和Gtk 1.1.3(,但问题仍然存在,即当我单击单选按钮时,似乎没有调用回调函数。

这不是一个真正的问题-问题出在回调函数上:findfirst不能再这样使用了,所以出现了一个(不可见的(错误。将回调更改为

warn_dialog("Changed to: $(get_gtk_property(r, :label, AbstractString))")

它按预期工作。

最新更新