繁体   English   中英

如何摆脱tcltk2软件包的副作用?

[英]How to get rid of side effect of tcltk2 package?

使用tcltk2库在R中创建GUI窗口后,当我恢复为使用由依赖于tcltk的软件包(不包含2)生成的窗口时,在Windows 7上收到以下错误消息:

col2rgb(col)中的错误:无效的颜色名称'SystemButtonFace'

必须是tcltk2更改了一些用于在R中使用GUI的基本选项,因为在加载tcltk2之前不存在错误消息。 我正在使用以下版本的R:

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

有没有办法解决这种副作用(即,将其消除)?

我试图简单地分离tcltk2软件包(这是对tcltk软件包的补充),但是并没有做到这一点。

我还尝试过在GUI窗口中替换生成错误消息的颜色,并使用R颜色名称(如“红色”和“蓝色”(而不是#CCCFFF之类的颜色))来生成错误消息。

任何帮助将不胜感激。

谢谢,

伊莎贝拉

这不仅是烦人的事-它阻止R正确显示后续的GUI窗口。

我整理了一些示例R代码。 该代码使用PBSmodelling包来创建R GUI窗口(该包取决于tcltk而不取决于tcltk2,这两个都是R包)。 如此创建的GUI窗口正确显示在R中。但是,在将tcltk2程序包加载到R中并尝试再次显示相同的窗口后,出现错误消息:

col2rgb(col)中的错误:无效的颜色名称'SystemButtonFace'

为了给您一些背景,到目前为止,我为我的项目编写的大多数R GUI窗口都依赖PBSmodelling,并且运行良好。 我只需要使用tcltk2为项目创建几个窗口,但是由于上述错误消息,这些窗口(至少目前)无法与其他大多数窗口集成。

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

## 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'

如果您有解决此问题的任何想法,请告诉我。

非常感谢,

伊莎贝拉

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM