gpt4 book ai didi

linux - 在框架而不是终端上获取输出 (Perl-Tk)

转载 作者:太空宇宙 更新时间:2023-11-04 11:37:00 25 4
gpt4 key购买 nike

#!/usr/local/bin/perl
use Tk;
# Main Window
$mw = new MainWindow;
$label = $mw -> Label(-text=>"Hello folks") -> pack();
$button = $mw -> Button(-text => "Click here to Flush rules",
-command =>\&flush) -> pack();
MainLoop;

sub flush {
$mw->messageBox(-message=>"Initiating flushing.. click on OK button");
system ("iptables -L");
system ("iptables -F");
system ("iptables -L");
}

我编写了这段代码,它的作用是当用户点击按钮时会出现一个消息框

enter image description here

然后当我点击 OK 按钮时,它会调用子例程 flush,然后输出显示在终端上,如下所示:

enter image description here

我希望它出现在同一个消息框上。我该怎么做?

最佳答案

  • 不使用系统
  • 捕获 STDOUT/STDERR(qx、IPC::System::Simple、IPC::Run...)
  • 更新标签(就像更新 $textvariable 一样简单......例如参见 Tk 演示程序小部件)

  • 关于linux - 在框架而不是终端上获取输出 (Perl-Tk),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7045245/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com