Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
多个列表框和滚动条tcl/tk和R_R_Tk - Fatal编程技术网

多个列表框和滚动条tcl/tk和R

多个列表框和滚动条tcl/tk和R,r,tk,R,Tk,我已经创建了4个列表框和4个滚动条,它们将绑定到其中。但是,滚动条不能按预期工作:它们在滚动列表框中相互干扰,最后一个滚动条不能工作。我在tkyview和tkset中找不到任何其他选项来解决此问题。你认为这里出了什么问题 require(tcltk) tt <- tktoplevel() #Scrollbars scr.d <- tkscrollbar(tt, repeatinterval=4,command=function(...) tkyview(t.d,...)) scr.

我已经创建了4个列表框和4个滚动条,它们将绑定到其中。但是,滚动条不能按预期工作:它们在滚动列表框中相互干扰,最后一个滚动条不能工作。我在
tkyview
tkset
中找不到任何其他选项来解决此问题。你认为这里出了什么问题

require(tcltk)
tt <- tktoplevel()

#Scrollbars
scr.d <- tkscrollbar(tt, repeatinterval=4,command=function(...) tkyview(t.d,...))
scr.m <- tkscrollbar(tt, repeatinterval=4,command=function(...) tkyview(t.d,...))
scr.s <- tkscrollbar(tt, repeatinterval=4,command=function(...) tkyview(t.d,...))
scr.a <- tkscrollbar(tt, repeatinterval=4,command=function(...) tkyview(t.d,...))

#Listboxes
t.d <- tklistbox(tt, selectmode="browse",yscrollcommand=function(...) tkset(scr.d,...), width=20,background="white", exportselection=0)
t.m <- tklistbox(tt, selectmode="Single",
                 yscrollcommand=function(...) tkset(scr.m,...), width=20, background="white", exportselection=0)
t.s <- tklistbox(tt,selectmode="Single",
                 yscrollcommand=function(...) tkset(scr.s,...), width=30, background="white", exportselection=0)
t.a <- tklistbox(tt,selectmode="Single",
                 yscrollcommand=function(...) tkset(scr.a,...), width=35, background="white", exportselection=0)

#Place them on the window
tkgrid(tklabel(tt,text="Select subject property:"))
tkgrid(tklabel(tt,text=""))
tkgrid(t.d, scr.d,t.m, scr.m, t.s, scr.s, t.a, scr.a)

tkgrid.configure(scr.d,rowspan=4,sticky="nsw")
tkgrid.configure(scr.m,rowspan=4,sticky="nsw")
tkgrid.configure(scr.s,rowspan=4,sticky="nsw")
tkgrid.configure(scr.a,rowspan=4,sticky="nsw")

#Filling up the listboxes
for (i in 1:100)
{
  tkinsert(t.d, "end", i)
}

for (i in letters)
{
  tkinsert(t.m, "end", i)
}

for (i in rnorm(100))
{
  tkinsert(t.s, "end", i)
}

for (i in letters)
{
  tkinsert(t.a, "end", i)
}
require(tcltk)

tt当您在上面创建所有滚动条时,您将命令设置为
t.d
列表框的
tkyview
,因此您已告知所有4个滚动条移动同一个框。如果您修复了输入错误,并让最后3个
tkyview
函数调用最后3个listbox对象,那么它就会工作。

是的,非常感谢Greg。最后是一个打字错误!。但我花了很多时间学习了关于传统知识的其他知识。无论如何,谢谢你的回答,也很抱歉我的回复太晚了。。。