r - 带有 tcl tk 和 R 的不可编辑框

标签 r textbox tcl tk-toolkit

我正在寻找某种方法来禁止用户使用 tcltk 和 R 更改文本框中的值。

这是我所做的:我想禁止用户更改第一个框中的值。

library(tcltk)
tt <- tktoplevel()
v <- tclVar("32 200 700")
entry.1 <-tkentry(tt, width = "50", textvariable = v)
tkbind(entry.1, "<Key>", function()tkfocus(entry.2))
tkgrid(entry.1, row=1, column=0)
v2 <- tclVar("")
entry.2 <-tkentry(tt, width = "50", textvariable = v2)
tkgrid(entry.2, row=2, column=0)

它似乎有效,但键的 native 操作是在绑定(bind)操作之前完成的。

如何解决这个问题?

我不想使用tklabel,因为它无法为文本添加边框。

最佳答案

这是普通的 Tcl,而不是 R 语法,但您希望将小部件的状态设置为只读。这将禁止用户修改该值,但它仍然尊重文本变量的更改。您不需要绑定(bind)任何东西,用户无法将注意力集中在小部件上。

set value 0
entry .e -textvariable value -state readonly
button .b -text incr -command {incr value}
pack .e .b

关于r - 带有 tcl tk 和 R 的不可编辑框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18533977/

相关文章:

rmarkdown 设置 kable 的位置

c# - ASP.NET C# 按按钮从文本框中选择部分文本

php - html文本框历史

asp.net - 动态添加CalendarExtender到Textbox子类服务器控件?

set - 基本 Tcl -- 打印变量值

r - 按需调用的简单示例

r - 将 Data.Tables (R) 与循环或 mapply 组合

r - 捕捉 spinbox 中的变化 - rtcltk

bash - 从 tcl 脚本调用 bash 脚本并返回和退出状态

r - 如何用 R 中的 lme4 估计子组的残差