Как отобразить "содержимое консоли R" в разработанном графическом интерфейсе пользователя (GUI)
Я разработал графический пользовательский интерфейс (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
Все в порядке, и, нажав "Run", программа начинает работать. Весь процесс показывается в консоли 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