Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 如何在没有GUI的情况下运行代码_Perl_Tk - Fatal编程技术网

Perl 如何在没有GUI的情况下运行代码

Perl 如何在没有GUI的情况下运行代码,perl,tk,Perl,Tk,我手中有一个相当长的perltk代码,我希望以批处理模式运行模拟(不使用GUI)。e、 我想用“myprog.pl-b”这样的脚本来运行它,而不是在GUI中设置所有参数并单击按钮 我当前的方法是使用一个单独的XML文件进行配置,并使用函数“after”,这意味着GUI将弹出并启动模拟,然后在某个时间后退出。它现在起作用了,但我有一个问题:有没有更好的方法来解决这个问题?有没有可能在后台显示GUI(因此我们不会看到它)而不是弹出? 更改程序,使其可以从图形界面和命令行界面访问。将其真正的功能分解成

我手中有一个相当长的perltk代码,我希望以批处理模式运行模拟(不使用GUI)。e、 我想用“myprog.pl-b”这样的脚本来运行它,而不是在GUI中设置所有参数并单击按钮

我当前的方法是使用一个单独的XML文件进行配置,并使用函数“after”,这意味着GUI将弹出并启动模拟,然后在某个时间后退出。它现在起作用了,但我有一个问题:有没有更好的方法来解决这个问题?有没有可能在后台显示GUI(因此我们不会看到它)而不是弹出?

  • 更改程序,使其可以从图形界面和命令行界面访问。将其真正的功能分解成子例程
  • 在中运行程序,以便主显示屏上不显示任何窗口
  • 将窗口管理器配置为始终以最小和/或0x0大小启动此程序的实例

您可以尝试
wm-draw.
在启动后取消主窗口的映射。通常,Tk应用程序会撤回窗口以构建UI,然后
raise.
将其还原为视图。更好,但更复杂的是移动内核并打开
package-provide-Tk
或一些无gui命令行选项。daxim,非常感谢您的提示。我喜欢这三个选项中的选项3。但不知何故,我所尝试的并没有达到预期的效果。你或任何人能帮我点个火吗?我尝试的是1“$mw->configure(-width=>0,-height=>0);$mw->resizeable(0,0);”。2) “$mw->maxsize(0,0);$mw->可调整大小(0,0);1)和2)都生成了一个非常小的主窗口,而不是0*0。我的设置有什么问题吗?顺便问一下:我如何使用xvfb for perl tk实现选项B?虽然我得到的小主窗口足够小,但我认为我可以接受。请帮助了解xvfb实现方法。@complex:实际上,选项1是最好的选项。选项2是rela非常容易做;xvfb是一个外部程序-它是一个无显示的X服务器-所以只需稍加调整就可以进行设置。选项3非常糟糕;非常糟糕。