首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何摆脱tcltk2包的副作用?

如何摆脱tcltk2包的副作用?
EN

Stack Overflow用户
提问于 2014-12-31 12:35:46
回答 1查看 276关注 0票数 1

在使用tcltk2库在R中创建图形用户界面窗口后,当我恢复使用依赖于tcltk (没有2)的包生成的窗口时,我在Windows7上收到以下错误消息:

col2rgb(col)中出错:颜色名称'SystemButtonFace‘无效

这一定是因为tcltk2在R中更改了一些使用tcltk2的底层选项,因为在加载GUI之前没有出现错误消息。我正在使用以下版本的R:

R版本3.1.0 (2014-04-10) --“春舞”

有没有办法处理这种副作用(即,消除它)?

我试图简单地分离tcltk2包(它是对tcltk包的补充),但这并不成功。

我还尝试将生成错误消息的GUI窗口中的颜色替换为R颜色名称,如"red“和"blue”(而不是#CCCFFF等颜色)。

任何帮助都将不胜感激。

谢谢,

伊莎贝拉

EN

回答 1

Stack Overflow用户

发布于 2015-01-01 02:17:06

这不仅仅是一种烦恼-它阻止R正确地显示后续的GUI窗口。

我已经整理了一些R代码的例子。代码使用PBSmodelling包创建一个R窗口(其中包依赖于tcltk,但不依赖于tcltk2,这两个包都是R包)。这样创建的图形用户界面窗口可以在R中正确显示。但是,在R中加载tcltk2包并再次尝试显示相同的窗口后,我收到错误消息:

col2rgb(col)中出错:颜色名称'SystemButtonFace‘无效

为了给你一些背景知识,到目前为止,我为我的项目编写的大多数R窗口都依赖于PBSmodelling,并且工作得很好。我只需要使用tcltk2为项目创建几个窗口,但由于上面提到的错误消息,这些窗口不能(至少目前)与大多数其他窗口集成。

以下是将重现错误消息的R代码:

代码语言:javascript
复制
## install & require PBSmodelling package 
## for creating R GUI windows
install.packages("PBSmodelling")
require(PBSmodelling)

## function to plot a sinusoid (to be called by GUI window) 
myPlot <- function() { 
        getWinVal(scope="L"); 
        x <- seq(0,500)*2*n*pi/500; 
        plot(x,sin(x),type="l"); 
} 

## create an R GUI window with PBSmodelling 
winStr=c( "window title=Simple", 
      "entry name=n value=5", 
      "button function=myPlot text=\"Plot sinusoid\"")

## display R GUI window created with PBSmodelling 
createWin(winStr,astext=TRUE)

## install & require tcltk2 package 
install.packages("tcltk2")
require(tcltk2)

## try to display R GUI window created with PBSmodelling, 
## this time after loading the tcltk2 package in R 
createWin(winStr,astext=TRUE)

## Error message:
## Error in col2rgb(col) : invalid color name 'SystemButtonFace'

如果你有任何解决这个问题的想法,请让我知道。

非常感谢,

伊莎贝拉

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

https://stackoverflow.com/questions/27716175

复制
相关文章

相似问题

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