TCL / TK错误消息没有帮助。请帮帮我吧

时间:2012-03-22 21:03:03

标签: tcl tk

我是TK的新手,我认为我得到的错误信息是TK。以下是错误消息:

  

unknown option "-state"; must be one of -background, -bd, -bg, -borderwidth, -columnbd, -columnborderwidth, -columnrelief, -cursor, -exportselection, -fg, -fillcolumn, -font, -foreground, -height, -highlightbackground, -highlightcolor, -highlightthickness, -labelanchor, -labelbackground, -labelbd, -labelbg, -labelborderwidth, -labelfg, -labelfont, -labelforeground, -labelheight, -labelimage, -labelrelief, -labels, -relief, -resizablecolumns, -selectbackground, -selectborderwidth, -selectcommand, -selectforeground, -selectmode, -setgrid, -takefocus, -width, -xscrollcommand or -yscrollcommand

errorInfo trace:

unknown option "-state"; must be one of -background, -bd, -bg, -borderwidth, -columnbd, -columnborderwidth, -columnrelief, -cursor, -exportselection, -fg, -fillcolumn, -font, -foreground, -height, -highlightbackground, -highlightcolor, -highlightthickness, -labelanchor, -labelbackground, -labelbd, -labelbg, -labelborderwidth, -labelfg, -labelfont, -labelforeground, -labelheight, -labelimage, -labelrelief, -labels, -relief, -resizablecolumns, -selectbackground, -selectborderwidth, -selectcommand, -selectforeground, -selectmode, -setgrid, -takefocus, -width, -xscrollcommand or -yscrollcommand
    while executing
"::mclistbox::Canonize $w option [lindex $args 0]"
    (procedure "::mclistbox::WidgetProc" line 211)
    invoked from within
"::mclistbox::WidgetProc .autoQuote.reportInfoTab.f.tit76.f.mcl84 cget -state"
    ("eval" body line 1)
    invoked from within
"eval ::mclistbox::WidgetProc {.autoQuote.reportInfoTab.f.tit76.f.mcl84} $command $args"
    (procedure ".autoQuote.reportInfoTab.f.tit76.f.mcl84" line 1)
    invoked from within
"$w cget -state"
    (procedure "tk::ListboxBeginSelect" line 18)
    invoked from within
"tk::ListboxBeginSelect [::mclistbox::convert .autoQuote.reportInfoTab.f.tit76.f.mcl84.framecol1.listbox -W] [[::mclistbox::convert .autoQuote.reportIn..."
    invoked from within
"if {[winfo exists [::mclistbox::convert .autoQuote.reportInfoTab.f.tit76.f.mcl84.framecol1.listbox -W]]} {
    tk::ListboxBeginSelect [::mclistbox::conve..."
    (command bound to event)

这不是我的代码,但它看起来像是Widget库。我找到了例程'widgetProc',它似乎有一个'-state'开关。我现在只是画一个空白。

这是我的环境:

  • Windows 7 Enterprise SP1。
  • tcl版本:8.5.11.1
  • bwidgets 1.95
  • iwidgets 4.0.1
  • tcllib 1.14

2 个答案:

答案 0 :(得分:0)

错误不是由 widgetProc 引起的,而是由 :: mclistbox :: Canonize 引起的。现在不幸的是,我并不熟悉它,但快速谷歌搜索显示this结果具有类似的缺乏解决方案。但是,发布日期会让我提出一个乐观的建议,即如果可能的话,请升级到更新的版本。如果那是不可能的,也许你可以告诉我们你正在使用的代码 - 你调用它的方式可能会触发错误。

答案 1 :(得分:0)

我找到了一个快速的解决方法。不确定它是否完全正确,但它对我有用。 在第77行下添加以下内容(应该是“array set widgetOptions [list \”)

-state       {State           State} \

会提供差异,但它是如此简单的修复我觉得它不保证它。