我最近一直在研究R中的tcltk软件包,并且对它的工作原理有一些基本的了解。我一直在对ttkcombobox()进行一些实验。基本上,我有两个组合框。第一个组合框由下拉选项“选项A”,“选项B”和“选项C”组成。第二个组合框由下拉选项“选项D”,“选项E”和“选项F”组成。
我有一个代码,您应该可以在下面复制该代码,以帮助描述我上面描述的情况。
library(tcltk)
tcl1 <- tclVar()
tcl2 <- tclVar()
tclvalue(tcl1) <- "<Select your first option>"
tclvalue(tcl2) <- "<Select your second option>"
selection1 <- c("Option A","Option B","Option C")
selection2 <- c("Option D","Option E","Option F")
main.win <- tktoplevel()
Enter <- function(){
tkdestroy(main.win)
}
Enter.button <- tkbutton(main.win,text="Enter",command=Enter)
combo.option.1 <- ttkcombobox(main.win, values=selection1, textvariable=tcl1, state="readonly",width=37)
combo.option.2 <- ttkcombobox(main.win, values=selection2, textvariable=tcl2, state="readonly",width=37)
tkgrid(combo.option.1, pady = 10, padx =10, sticky = "e")
tkgrid(combo.option.2, pady = 10, padx =10, sticky = "e")
tkgrid(Enter.button)
我想做的是找到一种根据第一个组合框上选择的内容自动禁用第二个组合框的方法。例如,如果在第一个组合框中选择了“选项B”,则将自动禁用第二个组合框,但是如果在第一个组合框中选择了任何其他选项,则会自动启用它。
虽然上面的代码没问题,但是它没有禁用第二个组合框的功能,所以我想知道R中是否有可以执行此操作的功能?
谢谢!