1

我使用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
4

0 回答 0