快速问题--我在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),所以这可能是相关的。
干杯。
发布于 2012-02-29 09:51:56
有时只发生的事情很难重现,而且常常是因为错误,如果没有完整的机器规范,就很难搞清楚。然而,我可以可靠地得到类似的行为,并且我可以修复它:
> library(tcltk)
Loading Tcl/Tk interface ... done
> menu(letters[1:5],graphics=TRUE)
^C通过在这里点击Control,我得到了我的R提示符和一个没有响应的对话框,我没有处理这个对话框。使用窗口管理器控件什么都不做,调整大小不会更新窗口。所以..。
> tclServiceMode(TRUE)
[1] FALSE然后它就醒了。然后,我可以按惯例关闭对话框,或者执行以下操作:
> tkdestroy(".1")
Error: $ operator is invalid for atomic vectors用一个我不明白的错误来摆脱它。".1“是窗口路径,与默认窗口标题相同--但如果您在菜单上设置了名称,则不是。那样的话..。嗯,也许有一种从名称中查找它的方法,但是无论如何,一旦您将服务模式设置为TRUE,您可以单击您的方式返回桌面整洁。
https://stackoverflow.com/questions/9492032
复制相似问题