运行通过脚本用R编写的GUI

问题描述 投票:2回答:1

我使用R中的tcltk包编写了一个小型图形用户界面。我现在希望使用户能够通过运行脚本来启动界面,而不必使用RStudio或命令行,而只需双击脚本图标(在视窗)。但是我这样做有些问题。

使用Rscript.exe运行它会启动一个非交互式R会话,我想我需要一个交互式会话。所以我尝试了:

echo source("GUI.R") | R.exe --ess --vanilla

现在,GUI.R文件中的R命令Interactive()实际上返回TRUE,但是GUI窗口仍然仅弹出并随后立即关闭。之后暂停脚本无济于事。

有人知道该怎么做吗?还是完全有可能?

r user-interface interactive
1个回答
0
投票
我知道这是一条旧消息,但是我不得不回答。我一直在寻找解决类似问题的解决方案,但是这些解决方案都无济于事。问题在于RScript.exe,Rcmd.exe等不是交互式的,对此您无能为力。

我使用Rscript.exe运行的文件(我使用tlctk2)的末尾使用tkwait.window()解决了问题。

请确保没有if(interactive())例程,因为Rscript.exe不是交互式的,因此将FALSE返回给interactive()。

结果简单有效。您使用tcl / tk GUI创建的窗口将一直运行,直到通过tkdestroy()或仅通过关闭窗口将其销毁为止。

#usage require(tcltk2) #Your script MyMainWindow<<-tktoplevel() #Your script tkwait.window(MyMainWindow) #END

© www.soinside.com 2019 - 2024. All rights reserved.