我使用gWidgets在 R 中开发了一个图形用户界面 (GUI) 。下面是一些代码行:
library(gWidgets)
library(rattle)
library(RGtk2)
library(tcltk)
## Draw main window:
main_win <- gwindow("Advanced FFDFS: 4-day & 8-day forest fire danger
forecasting ", visible= FALSE, toolkit = guiToolkit())
paned <- gpanedgroup ( cont = main_win )
###########
group <- ggroup(horizontal = FALSE, container=paned)
###########
## Adding logo to the Manin Window
frame_1 <- gframe ( "" , cont = group , horizontal = FALSE )
在这里,您可以看到 GUI:
https://www.dropbox.com/s/8wjng4ukfch9t9y/GUI.jpg?dl=0
一切正常,点击“运行”,程序开始运行。所有过程都显示在 R 控制台中。
我的问题:
有没有办法调用 R 控制台内容以显示在开发的图形用户界面 (GUI) 中?
像这样的东西:
https://www.dropbox.com/s/kb6m3sex02g53qj/GUI2.jpg?dl=0
原因?
我想在 GUI 中使用它的原因是:
1- 用户无需查看 R/R-studio 即可查看正在发生的事情。
2- 我想安排程序每天运行(这对我以后来说是另一个挑战),所以用户不要打开 R/R-studio。
任何评论或想法将不胜感激。
基于@jverzani 评论的简单代码:
## Draw main window:
main_win <- gwindow("Adv", visible= FALSE, toolkit = guiToolkit())
button.group_run <- ggroup(container = main_win)
## Push buttons to right
addSpring(button.group_run)
obj_run <- gbutton("Run", container=button.group_run,
handler = function(h,...) gmessage("Good, let me run the model"))
obj_cancel <- gbutton("Cancel", handler = function(h,...) dispose(main_win),
container=button.group_run)
obj_help <- gbutton("Help", container=button.group_run,
handler = function(h,...) gmessage("Test"))
visible ( main_win ) <- TRUE
## Do these when user clicks on Run button:
addhandlerchanged(obj_run, handler=function(h,...)
{
r_console_aa <- capture.output(
print("What is your Username?")
print("NA")
getwd()
)
r_console_aa
})
r_console_aa