問題タブ [gwidgets]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - RでgWidgetsRGtk2を使用して、gfileを使用してファイルパスを指定した後、すぐにgeditボックスを更新するにはどうすればよいですか
gWidgetsRGtk2
R で記述したプログラムを使用して GUI を作成しようとしています。私の GUI にはgedit()
、ユーザーがプログラムに入れる入力データ ファイルのファイル パスを入力できるテキスト ボックスがあります。また、「参照」ボタンもあり、クリックするとボックスが開き、gfile()
必要なファイルを参照できます。私が問題を抱えているのはgedit()
、ユーザーが「参照」ボタンを使用してファイルを選択した後、ボックス内の値を更新することです。以下のコードはこれをより明確にするかもしれません:
これまでのところaddhandlermousemotion
、上記のコードのように を使用してみました。したがって、ボックス内のテキストはgedit()
、ボックス自体の上にマウスを移動したときにのみ更新されます。ただし、ボックス内のテキストが即座に更新されることを希望します。
addhandleridle()
また、ボックス内のテキストが 1 秒ごとに自動的に更新されるように、1 秒間隔で を使用してみました。これはうまくいきました。ただし、入力されていた新しい「sfilepath」を保存する前に、テキスト ボックスが古い「sfilepath」で更新されていたため、ボックスに正しく入力できませんでした。
私は GUI の作成の初心者です (仕事用のプログラムを作成しましたが、私が辞めたら他の人が使用する必要があるため、先週の金曜日にそれを GUI に作成する方法を理解する必要があると決めました)。したがって、誰でも提供できるヘルプは大歓迎です。
r - RでgWidgetsを使用してgwindow()のWMアイコンを変更するにはどうすればよいですか?
R の gWidgets を使用して、ウィンドウ マネージャー アイコン (の左上隅gwindow()
) を変更したいと考えています。隅にある R ロゴを使用するのではなく、独自の画像を追加したいと考えています。を呼び出すだけで、画像をRにロードしましたgimage("imagename.jpg")
。を呼び出すことで、この画像をウィンドウで開くことができますgimage("imagename.jpg", cont=gwindow(cont=T))
が、アイコンとしてではありません。
これは本当に簡単なことだと思います。私はそれを行う方法をグーグルで検索しましたが、答えが見つかりません。RGtk2 を使用icon=imagename
すると、ウィンドウの作成時に引数を追加するだけであることがわかりました。
を呼び出して gWidgets でもこれを試しましたがgwindow(icon=gimage("imagename.jpg"), cont=T)
、これは追加の引数なしで gwindow を呼び出すのと何ら変わりはありませんでした。
これは本当に単純なはずですが、どこにも答えが見つかりません。どんな助けでも大歓迎です。
ありがとう。
r - Windows 上の R の gwidgets
データとモデルの結果をプロットするための gWidgets インターフェイスを開発する際に、プロット ページを作成し、par(mfrow=c(4,1))
4 つのプロットを重ねて表示します。
最初のプロット (上部の単純な y 対 x) は正常に動作しますが、ループ内の残りの 3 つのプロットは軸を作成しますが、データをプロットしません。コードをテストするために、プロットをループする前に新しいプロット ウィンドウを開こうとしましたが、すべて正常に動作しました。
知っておくと便利なgwdigets
相互作用がありますか?plot(...)
再現可能な例を編集します。
動作しません:
次のようになります (通常の R グラフィックス ウィンドウ:
このようではない
r - gtable コンテナーからのオブジェクトの抽出/置換
gtable セルにグラディオ オブジェクトを配置しました。別のコントロールからの選択に基づいて、グラデーション オブジェクトの性質を変更し、同じセル内で置き換えたいと考えています。
tblL[2,1] の内容は、別のコントロールからの選択結果に基づいて、別のグラディオ オブジェクトを使用して変更されます。次のステップは何ですか?
r - gwidgets glabelはRでどのマークアップを使用しますか?
gWidget の glabel オブジェクトには、ラベルのテキストでマークアップを使用するオプションがあります。これを true にアクティブ化し、いくつかのマークアップ規則を使用しようとしました。たとえば、太字 、、、''' テキスト ''' マークダウン規則などですが、試したものはどれも機能していません。「gwidgetsのどのマークアップコード」をグーグルで検索しても役に立ちませんでした。glabel テキストの一部を太字にフォーマットし、他の部分を中央に配置したいと考えています。
r - gWidgets を使用した R での変数の読み込みと保存
過去数か月間、私は RI でシミュレーションを構築しており、パッケージ化を望んでいます。これは、2 つの使用可能な関数と、ループ中に 2 つの使用可能な関数のいずれかが呼び出してシミュレーションの段階を実行する多くの内部関数で構成されます。
簡単な概念例は次のとおりです。
これまでの私のパッケージでは、library() でパッケージを読み込んでアタッチした後、次のように使用します。
save()
結果とデータダンプはコマンドでオブジェクトとして保存され、オブジェクトは後で読み込むことができるため、シミュレーション関数から戻る必要はありません。
今は、コマンド ラインと組み合わせて使用できるシンプルな GUI が必要です。Rcmdr を考えてみてください。ただし、R に触れたことのない同僚が使用できるようにするために、はるかにシンプルです。GUI は、設定を編集できる必要があります。上記の fix コマンドのように、設定オブジェクトをファイルに保存し、オブジェクト ファイルから設定を読み込むことができます。私はgWidgetsでこれを構築しました:
以前の関数の仕事は、settings
この gui 関数の最初の行で行われていることに注意してください。これを上記の 3 つの関数と同じ R ファイルに追加gui
し、エクスポートとして名前空間に追加し、gWidgets と gWidgetstcltk をインポートとして設定し、再構築してからlibrary()
、パッケージ化してgui()
.
インターフェイスが表示されます。ただし、いくつかの問題があります。GUI は正常に表示されますが、button1 (「設定の編集」) をクリックして fix(INPUT) を介して設定を編集する場合は、値を変更し、エディターを閉じて、ボタンをもう一度クリックして、変更があるかどうかを確認します。永続化されて INPUT に保存されましたが、そうではありません。同じことがオブジェクトの読み込みにも当てはまります。関数 gui() の最初の行でデフォルトで生成された INPUT オブジェクトを上書きしません。
これは関数の環境と関係があると思いますが、よくわかりません。私のパッケージの gui-less バージョンでは、ユーザーは設定を含むオブジェクトを生成します。これはワークスペースにあり、引数としてシミュレーション関数に供給されます。ただし、gui バージョンでは、すべてが関数 gui() 内で実行され、gWidgets ハンドラーが関数 (h、...) を使用するため、ここでは環境が問題であるかのように感じずにはいられません。ボタン 1 をクリックすると、gui() 環境から INPUT が検出されますが、そこに変更が加えられないのは奇妙です。
誰でもこれを手伝って、私が何をする必要があるかを提案できますか?
長い質問で申し訳ありませんが、明確に説明しようとしました。ライブラリ(gWidgets、gWidgetstcltk)を用意し、ここで提供したコードをコピーして貼り付けて関数を定義し、実行するだけで、問題と同様にコードを再現できますgui()
。次に、[設定の編集] ボタンをクリックし、セルを変更して終了し、もう一度ボタンをクリックして、変更が保持されているかどうかを確認します (保持されません)。私が提供した抽象的な例は、適切なシミュレーション関数で発生したのと同じ問題を忠実に再現しているため、それを機能させることができなければ、実際に機能させることはできません。
ありがとう、
ベン W.
UEA
セインズベリー研究所。
[編集] .GlobalEnv を使用した修正/回避策は次のとおりです。
r - gcheckbox オブジェクトのフォントを設定する方法
gWidgetsのfont
メソッドは (RGtk2 ツールキットでは) 機能しないようですgcheckbox
。glabel
次のコードでは、スタイリングはオブジェクトに正しく適用されますが、 gcheckbox
.
これを機能させる方法はありますか?
r - R gWidgets はパラメーターと引き渡し引数を削除します
私は R の世界が初めてで、gWidgets の操作に問題があります。誰かが私を助けてくれることを願っています。まず、R のバージョンは 2.15.2 で、Windows 7 32 ビットを使用しています。
入力/出力と選択 (はい、いいえ) を使用して GUI を作成したいので、ユーザーが (gradio を使用して) 「はい」を選択すると、追加のパラメーター セットが表示され、「いいえ」の場合は表示されなくなります (これらのパラメーター)、またはグレー表示されます。最後に、ユーザーが [OK] ボタンをクリックすると、(後で) 別の関数を呼び出すために使用されるいくつかのパラメーターが渡されます。ここに私の質問があります:
- ユーザーが「いいえ」を選択したときにパラメーターを削除する方法を知っていますか? いいえをクリックすると、必要なものが印刷されますが、もう一度「はい」をクリックすると、別の 3 つのパラメーターが表示されます。
- ユーザーが「OK」をクリックしたときに引数を渡す方法を知っていますか?
ご協力いただきありがとうございました
セザール
PS以下は私のコードです:
r - 動的 gWidgets GUI の保存と読み込み
R の gWidgets パッケージを使用して動的 GUI を作成しました (重要な場合は guiToolkit="RGtk2")。動的とは、GUI の使用中にフォーム要素が作成および削除されることを意味します。現在のすべてのフォーム要素と選択/入力された値を含む現在の GUI を保存し、後でロードする簡単な方法があるかどうか疑問に思います。ワークスペースの保存と読み込みは、次のような場合には機能しないようです:
正常に動作し、オブジェクトをコピーでき、他の変数名で引き続き動作します。しかし、ワークスペースを保存してロードすると、最後の 2 行を実行しようとすると、「assertion `GTK_IS_WIDGET (widget)' failed」というエラーが表示されます。そのため、load() 関数はオブジェクトを適切に再作成しません。
r - gWidgetsとハンドラーから値を返す方法は?
Rパッケージ用のGUIを(gWidgetsを使用して)開発しようとしています。私の計画は、データを保持し、関数ごとに小さなGUIラッパーを呼び出すボタンを備えたメインウィンドウを構築することでした。残念ながら、私は基本的な(?)問題で立ち往生しています-データを転送する方法がわかりません。
質問:
- 別々のウィンドウ間でデータを適切に送信するにはどうすればよいですか?
- 別のウィンドウのハンドラー内からデータを送信するにはどうすればよいですか?
私の問題は次のような ものです。gWidgetsを使用してRに変数をロードおよび保存しますが、私が読んだことから、.GlobalEnvの使用はお勧めしません。
また、<<-演算子を使用している人を見たことがあります:http://www.mail-archive.com/r-sig-gui@r-project.org/msg00053.html、しかし私はそれを正しく再現することができません(そして私の例ではうまくいきません)。
以下は簡単な例です。ここでは、テキストを別のウィンドウに送信し、ボタンが押された場合に再度送信しようとしています。ハンドラー内でreturnを試してみましたが、機能しません(許可されているかどうかもわかりません)。サブウィンドウは、ハンドラー/内部関数がデータに作用する前に、関数の最後ですぐにその値を返します。ハンドラーからメインウィンドウにアクセスする方法がわかりません。
更新: 上記の例を使用して説明した、(jverzaniによって提案された)前進の方法として私が選んだ解決策は次のとおりです。提案された解決策を正しく理解し、それを「素晴らしい」方法で実装し、理想的にはCRANで受け入れられたことを願っています。
要約すると、メインウィンドウ環境内に新しい環境を作成しました。サブウィンドウを編集して、呼び出しの環境を取得しました。サブウィンドウのボタンを押すと、assign
編集されたテキストが渡された環境に送られます。サブウィンドウを閉じてメインウィンドウにフォーカスを合わせると、編集したテキストに環境から。を使用してアクセスできますget
。