为什么在批处理模式下运行R脚本时GUI会消失?
我已经使用为什么在批处理模式下运行R脚本时GUI会消失?,r,user-interface,batch-file,gtk,R,User Interface,Batch File,Gtk,我已经使用RGtk2库在R中编写了一个GUI。该文件的名称是myGui。以下代码是使用批处理模式运行my R脚本的批处理文件: SET ROPTS=--no-save --no-environ --no-init-file --no-restore --no-Rconsole R\R-3.2.3\bin\Rscript.exe %ROPTS% callingGui.R 1> myLog.log 2>&1 调用GUI的代码是: source('C:/.../myGui.R')
RGtk2
库在R中编写了一个GUI。该文件的名称是myGui。以下代码是使用批处理模式运行my R脚本的批处理文件:
SET ROPTS=--no-save --no-environ --no-init-file --no-restore --no-Rconsole
R\R-3.2.3\bin\Rscript.exe %ROPTS% callingGui.R 1> myLog.log 2>&1
调用GUI的代码是:
source('C:/.../myGui.R')
window <- myGui()
window$show()
source('C:/…/myGui.R')
窗口是否忘记调用gtk_main()
?我的主要函数是myGui.R,它返回一个RGtk2窗口。此函数被调用@顺便问一下,labs是不是一个特定的函数@它是一个特定的函数;它是运行GTK+主循环的函数。我不知道它在R中调用了什么,但是您的myGui()
函数可能在某个地方调用了gtk\u main\u quit()
;这是停止事件循环的函数。批处理模式下的R不允许像GUI这样的交互代码。您必须打开一个交互式R会话。您是否忘记调用gtk_main()
?我的主要函数是myGui.R,它返回一个RGtk2窗口。此函数被调用@顺便问一下,labs是不是一个特定的函数@它是一个特定的函数;它是运行GTK+主循环的函数。我不知道它在R中调用了什么,但是您的myGui()
函数可能在某个地方调用了gtk\u main\u quit()
;这是停止事件循环的函数。批处理模式下的R不允许像GUI这样的交互代码。您必须打开一个交互式R会话。