Как отобразить «содержимое консоли R» в разработанном графическом интерфейсе пользователя (GUI) - PullRequest
0 голосов
/ 16 мая 2019

Я разработал графический пользовательский интерфейс (GUI) в R, используя gWidgets . Вот несколько строк кода:

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 ) 

Здесь вы можете увидеть графический интерфейс:

https://www.dropbox.com/s/8wjng4ukfch9t9y/GUI.jpg?dl=0

Все в порядке, и, нажав «Выполнить», программа начинает работать. Весь процесс отображается в консоли R.

Мой вопрос:

Есть ли способ вызвать содержимое консоли R для отображения в разработанном графическом интерфейсе пользователя (GUI)?

Примерно так:

https://www.dropbox.com/s/kb6m3sex02g53qj/GUI2.jpg?dl=0

Причины

Причина, по которой я хочу иметь это в графическом интерфейсе, заключается в том, что:

1 - Пользователи могут видеть, что происходит, не заглядывая в R / R-студию.

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
...