我想将一个事件(特别是Button-1
)绑定到位于TkTextImage
内的TkText
。然而,事件永远不会发生。我尝试了其他活动,例如Enter
和Leave
,但这些事件也没有被解雇。
图像显示正确,但它不会触发任何事件。
我使用以下代码:
root = TkRoot.new(title: 'Hello, world!')
img = TkPhotoImage.new(file: 'test.gif')
text = TkText.new(root)
text.pack
text_image = TkTextImage.new(text, '0.0', image: img)
text_image.bind("Button-1", proc do
puts "Image click!"
end)
puts "Running app..."
Tk.mainloop
如何启用text_image
检测事件?
答案 0 :(得分:1)
这不是一个直接的解决方案。 如何使用TkTextWindow和TkButton?
require 'tk'
src = TkScrollbar.new.pack(side: :right, fill: :y)
text = TkText.new.pack(side: :left, fill: :both, expand: true)
text.yscrollbar src
img = TkPhotoImage.new(file: 'test.gif')
button= TkButton.new(image: img) do
relief :flat
command {puts "Image click!"}
end
TkTextWindow.new(text, '0.0').window=button
Tk.mainloop