5

データ分析を行うための長いスクリプトがあり、いくつかのデータベースに接続する必要があります。データベースの1つは、私のパスワードを好きな頻度で更新する傾向があるので、現在のパスワードを入力するためのポップアップボックスを追加したいと思います。私はこの例を見つけましたが、ダイアログボックスが閉じられたときに私の値を返すためにhwoを見るのに十分なtcltkを理解していません。<<-OnOK関数内でグローバル変数()として定義することを考えましたが、これは厄介なようです

require(tcltk)
tt<-tktoplevel()
Name <- tclVar("Password")
entry.Name <-tkentry(tt,width="20",textvariable=Name)
tkgrid(tklabel(tt,text="Enter Password"))
tkgrid(entry.Name)
OnOK <- function()
{
    NameVal <- tclvalue(Name)
    tkdestroy(tt)
}
OK.but <-tkbutton(tt,text="   OK   ",command=OnOK)
tkbind(entry.Name, "<Return>",OnOK)
tkgrid(OK.but)
tkfocus(tt)
4

3 に答える 3

4

あなたはあなた自身の質問に答えました:あなたは実際<<-にこれらのtcltkの例で必要です---長年にわたるPeterによるさまざまな投稿、または他のCRANパッケージを使用している、あるいはパッケージ自体に浮かんでいる他の例を参照してください。試す

  library(tcltk)
  demo("tkcanvas")

lastXそして、それがどのように扱われるかを見てくださいlastY

于 2012-07-03T13:27:36.213 に答える
4

グレッグスノーがあなたに提案するものをまとめるginput機能を見つけるかもしれません:gWidgets

require(gWidgets)
options(guiToolkit="tcltk") 
NameVal <- ginput("Enter your passsword:")

NameVal入力した文字列が含まれるかNA、キャンセルした場合。

于 2012-07-04T13:15:13.277 に答える
1

tkwait.windowまたはtkwait.variable関数を使用できます。上記のコードを使用してウィンドウをポップアップし、待機機能の1つを使用します(tkwait.window基本的に[OK]をクリックすると、ウィンドウが破棄されるまでスクリプトの進行が停止します)。次に、スクリプトが進行すると、スクリプト/関数内の変数に値が含まれ、グローバル変数を割り当てることなく、そこで値を使用できます。

于 2012-07-03T17:22:40.957 に答える