我尝试使用 CPAN 模块中的片段来实现上述目标,Tk::ExecuteCommand
但是当我在该$ec->configure(-command
部分中执行任何 Perl 程序时,它会在下面给出错误。
此外,一旦 Perl 作业完成,窗口将意外关闭。如果我只是在条目中打印文本而不是命令(正如我注释掉的行),脚本可以工作并且不会关闭。我选择使用这个 Cpan 程序是因为我想要两件事:
- 在文本小部件中显示系统命令和运行结果。
- 在作业运行时让“执行按钮”变为“取消”,以便用户有机会取消正在进行的作业。
我可以知道如何实现吗?
这是我得到的错误消息:
> /usr/bin/perl: symbol lookup error: /usr/pkgs/perl/5.14.1/lib64/module/default/x86_64-linux/auto/Proc/ProcessTable/ProcessTable.so: undefined symbol: pthread_once
[13] 退出 127 test1.pl
这是我使用的代码:
#!/usr/bin/perl
use Tk;
use Tk::ExecuteCommand;
$ec = tkinit()->ExecuteCommand(
-command => '',
-entryWidth => 50,
-height => 10,
-label => '',
-text => 'Execute',
)->pack;
$ec->configure(-command => 'perl ./my_script.pl -wrapper wrapper_txt');
#$ec->configure(-command => 'Text line only');
$ec->execute_command;
$ec->update;
MainLoop;