2016-07-26 70 views
1

這可能是一個簡單的答案,但我不知道還有什麼要嘗試。 我附上了這個問題,所以我只提供了一小段代碼。我正在製作一個圖形界面使用tkltkR tkbutton不會調整大小

這些按鈕應占據所有水平空間,當我通過用鼠標拖動角來增大窗口大小時。垂直尺寸應該保持不變。

我已經能夠使它適用於單個按鈕(下面的代碼),但不能用一排按鈕。

預先感謝您

require(tcltk) 

botos1 <- function(panel){panel} 
panel01<- tktoplevel(bg="darkcyan") 
row1 = tkframe(panel01,width = 500, height = 70, bg = "yellow",borderwidth = 3) 

tkgrid(row1) 
tkgrid.configure(row1,sticky="ew") 
tkgrid.columnconfigure(panel01,0,weight=1) 
tkgrid.rowconfigure(panel01,0,weight=1) 
tkgrid.rowconfigure(row1,0,weight=1) 
tkgrid.columnconfigure(row1,0,weight=1) 
tkgrid.configure(row1,sticky='nwe') 


bot1<- tkbutton(row1,text="Time series",width = 35,command=botos1) 

tkgrid(bot1) 
tkgrid.configure(bot1,sticky="ew") 
+1

不相關,但不應該使用'require',因爲它會默默吞下錯誤。改用'library'。 –

+0

謝謝;我會牢記在心 – Marina

回答

1

我已經找到了解決我自己的問題。這裏是。 我在框架內製作了一個框架。內部框架通過tkpack進行處理,因此可以輕鬆調整按鈕的大小。但是,外框是通過tkgrid處理的,這允許我在主面板中給它一個固定的位置。

require(tcltk) 

botos1 <- function(panel){panel} 
panel01<- tktoplevel(bg="darkcyan") 

row1 = tkframe(panel01,width = 500, height = 70, bg = "yellow",borderwidth = 3) 

tkgrid(row1,row=0) 
tkgrid.configure(row1,sticky="new") 
tkgrid.columnconfigure(panel01,0,weight=1) 

row11 = tkframe(row1,width = 450, height = 50, bg = "cyan",borderwidth = 3) 

bot1<- tkbutton(row11,text="Time series1",width = 35,command=botos1) 
bot2 <- tkbutton(row11,text="Time series2",width = 35,command=botos1) 
bot3 <- tkbutton(row11,text="Time series3",width = 35,command=botos1) 

tkpack(bot1,side="left",expand=TRUE,fill="both") 
tkpack(bot2,side="left",expand=TRUE,fill="both") 
tkpack(bot3,side="left",expand=TRUE,fill="both") 

tkpack(row11,anchor="nw",fill="both") 
相關問題