2

我在 R 中使用带有 tcltk 包的 tktext 元素。我想实现这一点,当您按下 Tab 键时,会执行自定义函数,但不会将实际的制表符空间添加到文本中。

使用tkbind(tkTextField, "<Tab>", function(x) {tabFunction(tkTextField)})我可以执行自定义函数,但“\t”仍插入文本中。使用tkbind(feldInp, "<Tab>", "break")Tab 省略但不执行任何功能。

我怎样才能将两者结合起来?

4

1 回答 1

2

您可以break在绑定自己的函数后添加一个,就像这样

library(tcltk2)

window <- tktoplevel()

window$env$txt <- tk2text(window, width = 60, height = 10)
tkpack(window$env$txt, fill = "both", expand = TRUE)

tkinsert(window$env$txt, "1.0", "Text")

tkbind(window$env$txt, "<Tab>", {function(x)tabFunction(window$env$txt)})
tkbind(window$env$txt, "<Tab>", "+ break")

tabFunction <- function(x) print("Message")
于 2018-01-06T19:26:50.553 回答