Tcl 笔记本ttk关闭选项卡

Tcl 笔记本ttk关闭选项卡,tcl,ttk,bwidget,Tcl,Ttk,Bwidget,我希望添加一个绑定来关闭我的标签ttk::notebook。 我正在使用面向对象的tcl对象 我添加了一个图像图标X,它是确定的,但当我点击它,绑定是不正确的 你能帮我用tcl OO吗? 这是我的代码: oo::define CLASS method setTAB {command} { my variable m_noteApp set name [frame "toto"] $m_noteApp add $name -text "TAB1" -image "close" -compound

我希望添加一个绑定来关闭我的标签ttk::notebook。 我正在使用面向对象的tcl对象

我添加了一个图像图标X,它是确定的,但当我点击它,绑定是不正确的

你能帮我用tcl OO吗? 这是我的代码:

oo::define CLASS method setTAB {command} {
my variable m_noteApp

set name [frame "toto"]
$m_noteApp add $name -text "TAB1" -image "close" -compound right
$m_noteApp select $m_noteApp.$command
my set_close_bindings $m_noteApp $m_noteApp.$command }


oo::define CLASS method set_close_bindings {notebook page} {

puts "tcl -- set_close_bindings $notebook, $page"

bind $notebook <ButtonPress-1> [callscript {
    puts "  ButtonRelease %W %x %y"
    # Widget parentW are OK

    set closeImage ""
    catch {set closeImage [%W identify component %x %y]}
    puts "  -- closeImage : $closeImage" 
    # test is always empty, I dont why ! I expect that it will returns the image close. 

    set pressed [%W identify element %x %y]
    puts "  -- %x %y, $pressed" 
    # pressed = "label" why it's not my close icon, I clic on it ?


    set varname [%W.$pressed cget -text]
    puts "  -- $varname" 
    # error : Invalid command  [%W.$pressed cget -text]     

}]   
 bind $notebook <ButtonRelease-1> [callscript {
    puts "  ButtonRelease %W %x %y"
}] }

我正在使用一个示例来

我无法从这个片段中真正理解您的代码,但是如果您删除捕获,您很可能会收到一条错误消息,提示您closeImage变量为什么为空。@peter lewerin:是的,我有一个没有捕获的错误,我将catch设置为try该错误可能应该得到处理,未在地毯下扫掠。确定,使用:set closeImage[%W identification element%x%y]我收到一条消息,我应该使用tab或element。如何在关闭图标图像上获得clic,谢谢我不能,也不会,在评论线程中引导您完成此操作。您会收到一条错误消息,告诉您什么是错误的语法。修正这个错误,如果你遇到另一个错误,也要修正它,而不是让它沉默。你应该能解决这个问题。如果你真的被卡住了,看一下指南,然后提出一个可以回答的问题。祝你好运。我无法从这个片段中真正理解你的代码,但是如果你删除了catch,你很可能会收到一条错误消息,提示你closeImage变量为什么为空。@peter lewerin:是的,我在没有catch的情况下有一个错误,我将catch设置为try该错误应该得到处理,而不是掩盖。好的,使用:设置closeImage[%W标识元素%x%y]我有一条消息,我应该使用选项卡或元素。如何在关闭图标图像上获得clic,谢谢我不能,也不会,在评论线程中引导您完成此操作。您会收到一条错误消息,告诉您什么是错误的语法。修正这个错误,如果你遇到另一个错误,也要修正它,而不是让它沉默。你应该能解决这个问题。如果你真的被卡住了,看一下指南,然后提出一个可以回答的问题。祝你好运。我无法从这个片段中真正理解你的代码,但是如果你删除了catch,你很可能会收到一条错误消息,提示你closeImage变量为什么为空。@peter lewerin:是的,我在没有catch的情况下有一个错误,我将catch设置为try该错误应该得到处理,而不是掩盖。好的,使用:设置closeImage[%W标识元素%x%y]我有一条消息,我应该使用选项卡或元素。如何在关闭图标图像上获得clic,谢谢我不能,也不会,在评论线程中引导您完成此操作。您会收到一条错误消息,告诉您什么是错误的语法。修正这个错误,如果你遇到另一个错误,也要修正它,而不是让它沉默。你应该能解决这个问题。如果你真的被卡住了,看一下指南,然后提出一个可以回答的问题。祝你好运