Вы можете использовать GTK GUI Framework (пакет gWidgets
), чтобы создать свой собственный пользовательский интерфейс и реализовать GUI. Ниже приведен код, который читает из csv-файла и указывает, доступна ли книга с указанным идентификатором:
options("guiToolkit"="RGtk2")
library(RGtk2)
library(gWidgets)
library(gWidgetsRGtk2)
# Simulation
df <- data.frame(id = 1:3, name = c("War and Peace", "Batrachomyomachia", "Twylight"))
write.csv(df, "books.csv")
# Create GUI
main_win <- gwindow("Seeker")
window <- ggroup(
horizontal = FALSE,
container = main_win)
button <- gbutton("Search", container = window)
edit <- gedit("1", container=window)
label = glabel("Enter the id", container=window)
# Handling logic
addhandlerclicked(button, handler = function(h,...) {
svalue(h$action) <- "Loading..."
df <- read.csv("books.csv", row.names = 1)
Sys.sleep(1)
id <- as.integer(svalue(edit))
svalue(h$action) <- ifelse(nrow(df[df$id == id, ]) > 0, paste0(df$name[id], " is available"), "Not available")
}, action = label)
Выход: