如何在Perl Tk中显示外部命令中的文本?

如何在Perl Tk中显示外部命令中的文本?,perl,tk,Perl,Tk,我必须在TKGUI中显示一些打印语句(在运行Perl脚本时得到)。我试着以图片的形式展示一个例子,例如: Initializing the parser ... Running the parser ... Enabling the codec ... Connected to the socket ... Sending ipv4 traffic into the code ... 事情是这样的。我不知道怎么做。您可以通过 通常,您需要执行某种IPC来运行批处理和更新TKGUI。因为

我必须在TKGUI中显示一些打印语句(在运行Perl脚本时得到)。我试着以图片的形式展示一个例子,例如:

Initializing the parser ...

Running the parser ...

Enabling the codec ...

Connected to the socket ...

Sending ipv4 traffic into the code ...

事情是这样的。我不知道怎么做。

您可以通过

通常,您需要执行某种IPC来运行批处理和更新TKGUI。因为IO句柄可以在Tk中创建事件。某种程度上隐藏了IPC的复杂性

否则,您可以自行设计IPC方案。可能(粗略地)将管道、fork和setup管道事件作为IO事件,创建只读日志的关键命令有:

$text->configure( -state => 'normal' );
$text->insert( end => $text_I_just_read_from_the_pipe );
$text->configure( -state => 'disabled' );

您可以运行perl脚本

通常,您需要执行某种IPC来运行批处理和更新TKGUI。因为IO句柄可以在Tk中创建事件。某种程度上隐藏了IPC的复杂性

否则,您可以自行设计IPC方案。可能(粗略地)将管道、fork和setup管道事件作为IO事件,创建只读日志的关键命令有:

$text->configure( -state => 'normal' );
$text->insert( end => $text_I_just_read_from_the_pipe );
$text->configure( -state => 'disabled' );

谢谢老兄,我修改了这个代码,它满足了我的需要。谢谢老兄,我修改了这个代码,它满足了我的需要。