Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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)) ###### 使用 <<- 讓 rbVal 存在於 onOK 之外而 TEST_GUI 之內
- tkdestroy(win1)
- }
- 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)
- tkwait.window(win1) ###### 結束前必須先tkwait.window()
- return(rbVal) ###### 把 rbVal 傳出去
- }
- a <- TEST_GUI()
- str(a)
Advertisement
Add Comment
Please, Sign In to add comment