私は R の世界が初めてで、gWidgets の操作に問題があります。誰かが私を助けてくれることを願っています。まず、R のバージョンは 2.15.2 で、Windows 7 32 ビットを使用しています。
入力/出力と選択 (はい、いいえ) を使用して GUI を作成したいので、ユーザーが (gradio を使用して) 「はい」を選択すると、追加のパラメーター セットが表示され、「いいえ」の場合は表示されなくなります (これらのパラメーター)、またはグレー表示されます。最後に、ユーザーが [OK] ボタンをクリックすると、(後で) 別の関数を呼び出すために使用されるいくつかのパラメーターが渡されます。ここに私の質問があります:
- ユーザーが「いいえ」を選択したときにパラメーターを削除する方法を知っていますか? いいえをクリックすると、必要なものが印刷されますが、もう一度「はい」をクリックすると、別の 3 つのパラメーターが表示されます。
- ユーザーが「OK」をクリックしたときに引数を渡す方法を知っていますか?
ご協力いただきありがとうございました
セザール
PS以下は私のコードです:
require(gWidgets)
options("guiToolkit"="RGtk2")
#options(expressions=500000)
w <- gwindow("")
g <- ggroup(horizontal = FALSE, container = w)
glabel("Input/Output", container = g)
inputFileDir <- gfilebrowse (text = "Select file...", type = "open", quote = FALSE,
filter = list("Text File" = list(patterns = c("*.txt"))), container = g)
svalue(inputFileDir)
outputFileDir <- gfilebrowse (text = "Input file name...", type = "save", quote = FALSE,
filter = list("Text File" = list(patterns = c("*.txt"))), container = g)
svalue(outputFileDir)
glabel("Direction?", container = g)
DirSelec <- c("Yes","No")
rbF <- function(h,...){
if (svalue(h$obj, index=TRUE) == 1){
print ( "define handler here" )
glabel("Meridional (Raster file):", container = g)
fieldConstrainDir_v <- gedit("", container = g, default = 0)
svalue(fieldConstrainDir_v)
glabel("Zonal (Raster file):", container = g)
fieldConstrainDir_u <- gedit("", container = g, default = 0)
svalue(fieldConstrainDir_u)
glabel("Max. Angle:", container = g)
maxAng <- gedit("", width = 3, initial.msg = "Paste the path to the raster file (no extensions)", default = 0, container = g)
svalue(maxAng)
}else {
#(svalue(h$obj, index=TRUE) == 2)
print ( "When User click NO, it needs to go or gray out" )
}
}
rb <- gradio(DirSelec, container = g)
selected = svalue(rb, index=TRUE) <- 2
rbH <- addHandlerClicked(rb, handler = rbF)
bg <- ggroup(container = g)
addSpring(bg)
onOK <- function(h,...){
print(svalue(inputFileDir))
#chartr("\\", "/", print(svalue(inputFileDir)))
print(svalue(outputFileDir))
print(svalue(fieldConstrainDir_v))
print(svalue(fieldConstrainDir_u))
print(svalue(maxAng))
}
gbutton(" OK ", container = bg, handler = onOK)
gbutton(" Cancel ", container=bg, handler = function(h,...) dispose(w))