我尝试在R中创建GUI,用户可以在数据框中添加,编辑或搜索条目。为了添加新条目,我创建了"添加"按钮,打开一个新窗口。代码如下:
Add <- gbutton("Add Entry",
handler = function(h,...){
Input <- gwindow("Input New Entry")
Vals <- ggroup(horizontal = F, use.scrollwindow = T, container = Input)
COLS <- 1:length(colnames(Data))
Text <- vector()
for (n in COLS) {
ADDS <- gedit(initial.msg = colnames(Data)[n], container = Vals)
Text[n] <- ADDS[]
}
SAVE <- gbutton("Add Entry",horizontal = F,
handler = function(h,...){
Tab[DIM[1]+1,] <- Text
DIM[1] = DIM[1] + 1
dispose(Input)
},
container = Vals)
},
container = Bttns)
供参考Data
是使用的原始数据框,DIM
是具有数据框尺寸的向量,Bttns
是Add
按钮所在的组显示在原始窗口中,Tab
是原始窗口中添加gdf
的数据框表。
我的目标是为gedit
中的每个列条目创建Data
,然后将新条目附加为原始数据框中的最后一行。手动创建每个gedit
似乎打败了计算机编程的目的。有没有办法可以保存小部件的向量?前面的代码没有给出任何错误,但是在输入新窗口后它没有保存数据。除了使用for循环之外,还有更简单的方法吗?任何帮助表示赞赏!