[問題] GUI回傳變數

作者: TOOYA (在草地等流星)   2019-04-30 15:47:54
我想做一個視窗選項,
https://i.imgur.com/7YY1QOw.jpg
讓使用者可以從「建模」「校正」「分析」三個選項中做選擇
我將
「建模」命名為1
「校正」命名為2
「分析」命名為3
我希望能夠回傳這個視窗選擇後的資訊(1/2/3),
但是我看了tcltk2的範例,大部分的反應都只是關掉視窗...
最多是根據選擇做一件簡單的反應,
例如使用switch+tkmessageBox開新視窗顯示一句話。
不知道要怎麼做,才能夠把選擇的結果紀錄回傳,
方便我做後續的處理?
(print不行,我要存成變數,不是印出來)
想了一天想不出來,來向各位大神求救><
TEST_GUI = function(){
library(tcltk2)
win1 <- tktoplevel()
win1$env$rb1 <- tk2radiobutton(win1)
win1$env$rb2 <- tk2radiobutton(win1)
win1$env$rb3 <- tk2radiobutton(win1)
rbValue <- tclVar("PANDA")
tkconfigure(win1$env$rb1, variable = rbValue, value = 1)
tkconfigure(win1$env$rb2, variable = rbValue, value = 2)
tkconfigure(win1$env$rb3, variable = rbValue, value = 3)
tkgrid(tk2label(win1, text = "現在要執行的功能?"), columnspan = 2, padx = 10,
pady = c(10, 5))
tkgrid(tk2label(win1, text = "建模"), win1$env$rb1, padx = 10, pady = c(0, 5))
tkgrid(tk2label(win1, text = "校正"), win1$env$rb2, padx = 10, pady = c(0, 5))
tkgrid(tk2label(win1, text = "分析"), win1$env$rb3, padx = 10, pady = c(0, 5))
onOK <- function() {
rbVal <- as.character(tclvalue(rbValue))
tkdestroy(win1)
return(rbVal) #無效
}
win1$env$butOK <- tk2button(win1, text = "OK", width = -6, command = onOK)
tkgrid(win1$env$butOK, columnspan = 2, padx = 10, pady = c(5, 15))
tkfocus(win1)
}
作者: TOOYA (在草地等流星)   2019-05-01 10:25:00
太太太感謝了,晚一點進公司試試看!昨天下班前有發現<<-這個指令,下班後還在想要怎麼應用~
作者: andrew43 (討厭有好心推文後刪文者)   2019-05-01 09:03:00
https://pastebin.com/yp9B0B1v 改動處已留comment

Links booklink

Contact Us: admin [ a t ] ucptt.com