首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关闭‘`menu`’窗口(tcltk)?(相当于tcltk的graphics.off?)

关闭‘`menu`’窗口(tcltk)?(相当于tcltk的graphics.off?)
EN

Stack Overflow用户
提问于 2012-02-29 00:39:03
回答 1查看 2.8K关注 0票数 1

快速问题--我在R中使用menu函数和graphics=TRUE。对我来说,当我在linux上时,这将导致显示一个tcltk对话框。(您知道当您执行install.packages('some_package') R时,会弹出一个窗口,告诉您要删除哪一面CRAN镜子?这就是我的意思)。

有时候,在我做出选择(效果很好)之后,窗口就会拒绝消失,也不会对任何类型的点击做出响应--我可以像往常一样继续我的R会话,但是这个窗口会在我周围徘徊,尽管我努力关闭它(通过角落中的关闭'x‘按钮,或者通过对话本身的'OK’和'Cancel‘按钮)。

如果我没有这个窗口的句柄,我有办法毁掉它吗?,我在寻找类似tcltk.

此外,我还注意到在使用[tcl] grab failed: window not viewable.时经常会得到一个错误menu(..,graphics=TRUE),所以这可能是相关的。

干杯。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-29 09:51:56

有时只发生的事情很难重现,而且常常是因为错误,如果没有完整的机器规范,就很难搞清楚。然而,我可以可靠地得到类似的行为,并且我可以修复它:

代码语言:javascript
复制
> library(tcltk)
Loading Tcl/Tk interface ... done
> menu(letters[1:5],graphics=TRUE)
^C

通过在这里点击Control,我得到了我的R提示符和一个没有响应的对话框,我没有处理这个对话框。使用窗口管理器控件什么都不做,调整大小不会更新窗口。所以..。

代码语言:javascript
复制
> tclServiceMode(TRUE)
[1] FALSE

然后它就醒了。然后,我可以按惯例关闭对话框,或者执行以下操作:

代码语言:javascript
复制
> tkdestroy(".1")
Error: $ operator is invalid for atomic vectors

用一个我不明白的错误来摆脱它。".1“是窗口路径,与默认窗口标题相同--但如果您在菜单上设置了名称,则不是。那样的话..。嗯,也许有一种从名称中查找它的方法,但是无论如何,一旦您将服务模式设置为TRUE,您可以单击您的方式返回桌面整洁。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9492032

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档