使用Tcltk构建GUI

时间:2013-11-21 20:06:07

标签: r user-interface tcl tk

我是R的新手,我正在尝试使用Tcltk包构建GUI。我不确定“tkGetOpenFile”是如何工作的。我想通过使用这个函数,它会打开并将我的数据集保存到RStudio的工作区中。但唯一发生的事情是弹出窗口来选择文件。

我正在使用的代码如下。

请帮帮我!!!

require(tcltk)
readCsv <- function(){
myval <- tkgetOpenFile()
mydata <- read.csv(paste(as.character(myval), collapse = " "))
assign("myData", mydata, envir = .GlobalEnv)
}

tt <- tktoplevel()
topMenu <- tkmenu(tt)           
tkconfigure(tt, menu = topMenu) 
fileMenu <- tkmenu(topMenu, tearoff = FALSE)
tkadd(fileMenu, "command", label = "Quit", command = function() tkdestroy(tt))
tkadd(fileMenu, "command", label = "Load", command = function() readCsv())
tkadd(topMenu, "cascade", label = "File", menu = fileMenu)
tkfocus(tt)

1 个答案:

答案 0 :(得分:3)

您需要使用tclvalue函数来获取Tcl变量的R字符串表示。修改您的功能如下:

readCsv <- function(){
   myval <- tclvalue(tkgetOpenFile()) # add `tclvalue` here
   mydata <- read.csv(myval) # then `myval` is a character string
   assign("myData", mydata, envir = .GlobalEnv)
}