Сообщение об ошибке TCL / TK не помогает.Может ли кто-нибудь помочь мне, пожалуйста - PullRequest
0 голосов
/ 23 марта 2012

Я новичок в 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:

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)

Это не мой код, но похоже, что он собирается в библиотеку виджетов. Я нашел подпрограмму 'widgetProc', и она, кажется, имеет переключатель '-state'. Я просто рисую бланк прямо сейчас.

Вот мое окружение:

  • Windows 7 Enterprise SP1.
  • tcl версия: 8.5.11.1
  • bwidgets 1.95
  • iwidgets 4.0.1
  • tcllib 1.14

Ответы [ 2 ]

0 голосов
/ 10 октября 2013

Я нашел быстрый обходной путь. Не уверен, правильно ли это или нет, но это сработало для меня. Добавьте следующую строку в строке 77 (которая должна быть «array set widgetOptions [list \»)

-state       {State           State} \

Предоставил бы разницу, но это такое простое исправление, что я не чувствую, что это оправдывает.

0 голосов
/ 23 марта 2012

Ошибка вызвана не widgetProc , а :: mclistbox :: Canonize .К сожалению, я не знаком с этим, но быстрый поиск в Google показывает этот результат с аналогичным отсутствием разрешения.Тем не менее, даты публикации приведут меня к оптимистичному предположению, что вы должны перейти на более свежую версию, если это возможно.Если это невозможно, возможно, вы могли бы показать нам код, который вы используете - возможно, это вызвано тем, как вы вызываете его.

...