Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 将Tk::BrowseEntry小部件链接在一起_Perl_Combobox_Widget_Tk - Fatal编程技术网

Perl 将Tk::BrowseEntry小部件链接在一起

Perl 将Tk::BrowseEntry小部件链接在一起,perl,combobox,widget,tk,Perl,Combobox,Widget,Tk,我在使用Tk::BrowseEntry小部件的-browsecmd和-listcmd选项时遇到了一些问题: 我有三个BrowseEntry小部件,每个小部件都使用前一个小部件的值作为输入来填充自己的列表。这些值用作子例程的参数,该子例程从平面文件数据库中提取下拉列表中的项列表。子例程调用小部件上的insert方法来填充其选择 问题是: 当我更改第一个BrowseEntry小部件的值时,下一个BrowseEntry小部件使用前者的值填充其自己的列表,将新列表附加到旧列表中,而不是替换它。我听说这是

我在使用Tk::BrowseEntry小部件的-browsecmd和-listcmd选项时遇到了一些问题:

我有三个BrowseEntry小部件,每个小部件都使用前一个小部件的值作为输入来填充自己的列表。这些值用作子例程的参数,该子例程从平面文件数据库中提取下拉列表中的项列表。子例程调用小部件上的insert方法来填充其选择

问题是:

当我更改第一个BrowseEntry小部件的值时,下一个BrowseEntry小部件使用前者的值填充其自己的列表,将新列表附加到旧列表中,而不是替换它。我听说这是一个已知的bug,所以我调用了delete函数,但没有用

有人知道解决此问题的解决方法吗?

我发现以下错误: Tk::错误:无法对未定义的值调用方法子小部件

我需要一种方法,以便在每次“激活”下拉列表时调用与每个小部件关联的子例程。子例程必须使用前一个小部件值的当前值作为其参数,以给出最新的列表


对于上述问题的任何帮助/预烘焙解决方案,我们将不胜感激。

如果您在listbox子小部件上调用delete,它的工作方式是否会有所不同?例如,$browseEntry->Subwidget'slistbox'->删除。。。