Perl Tk/Tcl: 小部件回调可以带参数吗

Perl Tk/Tcl: Can widget callbacks take parameters

是否可以创建一个按钮,例如,其回调采用参数?

例如

button(-text => 'Row1', -command => \&do_something_with('Row 1'));

在测试程序上试过了,好像不行。如果是这样,是否有其他方法可以实现我在上面的示例中的意图?

我的程序需要创建按钮,但事先不知道数量(取决于 .cfg 文件)。

我没能清楚地理解你的问题,但据我了解是这样的:

button(-text => 'Row1', -command => \&do_something_with('Row 1'));
ttk::button -text $row -command [list RowOpertaion $row $xyz $abc]

此处 RowOperation 是一个具有 3 个参数的过程,假设为 row、abc、xyz。 在那个过程中你可以做必要的。

您可能需要一个匿名子例程,它至少使用一个参数调用您的子例程。

button(-text => 'Row1', -command => sub {do_something_with('Row 1', @_)});