[英]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.