簡體   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