Объединение виджетов Tk::BrowseEntry вместе

Я столкнулся с некоторыми сбоями при использовании параметров -browsecmd и -listcmd виджета Tk::BrowseEntry:

У меня есть три виджета BrowseEntry, и каждый использует значение предыдущего в качестве входных данных для заполнения собственного списка. Значения используются в качестве аргументов для подпрограммы, которая извлекает список элементов в раскрывающемся списке из базы данных плоских файлов. Подпрограмма вызывает метод вставки для виджета, чтобы заполнить его варианты.

Проблема в следующем:

Когда я изменяю значение первого виджета BrowseEntry, следующий виджет BrowseEntry, который использует значение первого для заполнения своего собственного списка, добавляет новый список к старому списку, а не заменяет его. Я слышал, что это известная ошибка, поэтому я вызвал функцию удаления, но безрезультатно.

Кто-нибудь знает обходной путь, который решит эту проблему?


person Community    schedule 08.10.2009    source источник
comment
Работает ли это по-другому, если вместо этого вы вызываете удаление в подвиджете списка? Например. $browseEntry->Subwidget('slistbox')->delete(...)   -  person Adam Bellaire    schedule 08.10.2009


Ответы (1)


Я получаю эту ошибку: Tk::Error: Не удается вызвать метод «Subwidget» для неопределенного значения

Мне нужен способ, чтобы подпрограмма, связанная с каждым виджетом, вызывалась каждый раз, когда раскрывающийся список «активируется». И подпрограмма должна использовать текущее значение предыдущего значения виджета в качестве своего аргумента, чтобы получить наиболее обновленный список...

Мы будем очень признательны за любую помощь/готовые решения вышеуказанной проблемы.

person Sandip    schedule 10.10.2009