【问题标题】:Binding the Return key not working绑定返回键不起作用
【发布时间】:2013-12-24 15:14:50
【问题描述】:

我正在尝试绑定键盘上的 Enter 按钮。我正在用 Perl Tk 写作。

我希望接下来的事情发生。

  1. 当我在键盘上按“Enter”时,我希望程序中的一个按钮能够运行。
  2. 当我按键盘上的“Enter”时,我希望运行一个子例程。看到我的按钮打开子例程,任何一个都会满足我的程序。

这是我的相关代码:

# Button
my $enterbut = $find_sub->Button(
    -command => \&find_substations,
    -text => 'Find Displays',
    -background => 'gray'
)->pack(
    -side => 'left',
    -fill => 'none',
    -ipadx => 8,
    -ipady => 1
);

# Accept "Enter" key as input
$enterbut->bind('<Return>', \&find_substations);

# Output Substation ID to Pane
sub find_substations {
    print;
}

我已经尝试了几种不同的方式来使用 bind 命令,但都不起作用。

我没有收到任何错误,但是当我按下按钮时,我的 sub 无法运行。我开始相信 Return 可能不是我键盘上的正确按钮。也许是由于驱动程序语言或其他原因。可能是编码错误。

【问题讨论】:

    标签: perl perltk


    【解决方案1】:

    您在按钮上绑定 Enter。仅当您的按钮获得焦点时才会捕获它。如果在整个窗口上绑定它,在窗口的任意位置按 Enter 应该会执行处理函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-18
      相关资源
      最近更新 更多