R中gWidgets2包中的gtable小部件在單擊新值時返回之前選定的值。如果使用鍵盤箭頭選擇一個值,然後按Enter鍵以激活當前選擇。這對我來說是意想不到的行爲。如果這是通過設計應該如何工作的,那麼如何在兩種情況下獲得當前的選擇?gtable(來自R包gWidgets2)返回上一個選擇
編輯:它看起來像它使用gWidgets的預期,所以它可能是gWidgets2中的錯誤。開始一個新的R會話,並在下面的例子中變成gWidgets2 - > gWidgets和gvbox - > ggroup。
require(gWidgets2)
# Select by clicking (Clicked) or hit Enter (Changed)
# Move using mouse or arrow keys.
# Create the example (adopted from the gtable example)
w <- gwindow("gtable example", visible=FALSE)
g <- gvbox(cont=w)
tbl <- gtable(mtcars, cont=g, expand=TRUE, fill=TRUE)
addHandlerClicked(tbl, handler = function(h, ...) {
print("Clicked returns the previously selected value.")
print(svalue(tbl))
})
addHandlerChanged(tbl, handler = function(h, ...) {
print("Changed returns the currently selected value.")
print(svalue(tbl))
})
visible(w) <- TRUE
- [R版本3.4.1(2017年6月30日),平臺:x86_64的-W64-的mingw32/64(64位),下運行:視窗7 64(建立7601)服務包1 包:gWidgets2_1.0-7,gWidgets2RGtk2_1.0-6,RGtk2_2.20.33