1

他の人がスクリプトを簡単に実行できるように、小さな GUI を作成しようとしています。Windows マシンで tcltk を使用して gWidgets を使用しています。

次のような単純なウィンドウを作成します。

require(gWidgets)
require(gWidgetstcltk)

options(guiToolkit="tcltk")
win <- gwindow(title="This is a window!")
grp <- ggroup(container=win)
lbl <- glabel("Here you can write stuff:", container=grp)
txt <- gedit(text="Stuff", container=grp)

新しいセッションで実行すると、次のエラー メッセージが表示されます。

Error in envRefInferField(x, what, getClass(class(x)), selfEnv) : 
  ‘no_items’ is not a valid field or method name for reference class “Entry”

エラーの後に再実行すると、次のようになります。

<simpleError in envRefInferField(x, what, getClass(class(x)), selfEnv): ‘no_items’ is
not a valid field or method name for reference class “Entry”&gt;

誰が何が起こっているのか説明できますか?

編集: 問題は RStudio でのみ発生し、RGui.exe では発生しないようです。私はそれほど熟練したプログラマーではありませんが、RStudio が環境を管理する方法に何らかの関係があると思います。

今の質問はもっとあると思います:RStudioでこれを正常に機能させるにはどうすればよいですか?

トレースバック:

> traceback()
11: stop(gettextf("%s is not a valid field or method name for reference class %s", 
        sQuote(field), dQuote(thisClass@className)), domain = NA)
10: envRefInferField(x, what, getClass(class(x)), selfEnv)
9: r5_widget$no_items
8: r5_widget$no_items
7: .length(x@widget, x@toolkit)
6: .length(x@widget, x@toolkit)
5: FUN(X[[3L]], ...)
4: FUN(X[[3L]], ...)
3: lapply(X = X, FUN = FUN, ...)
2: sapply(globalValues, length, USE.NAMES = FALSE) at SessionWorkspace.R#166
1: (function () 
   {
       globals = ls(envir = globalenv())
       globalValues = lapply(globals, function(name) {
           get(name, envir = globalenv(), inherits = FALSE)
       })
       types = sapply(globalValues, .rs.getSingleClass, USE.NAMES = FALSE)
       lengths = sapply(globalValues, length, USE.NAMES = FALSE)
       values = sapply(globalValues, .rs.valueAsString, USE.NAMES = FALSE)
       extra = sapply(globalValues, .rs.valueDescription, USE.NAMES = FALSE)
       result = list(name = globals, type = types, len = lengths, 
           value = values, extra = extra)
       result
   })()
4

0 に答える 0