2

基本的に、値をパーセンテージで表示する編集ボックスと、生の値を表示するために更新したい編集ボックスがあります。edit1 (パーセント) コールバックで次のコードを使用してみました。

currentKey = str2num(get(gcf,'CurrentKey'));
percent = str2num(get(handles.edit1,'String'));
if ~isnan(currentKey) && ~isnan(percent) && 0<=percent && percent<=100
    set(handles.edit2,'String',num2str(2*percent))
end

ただし、最初の編集ボックスの外側をクリックした場合にのみ、2 番目の編集ボックスが更新されます。誰が私が何をすべきかについて考えを持っていますか?

ありがとう!

4

1 に答える 1

1

このリンクが役立つと思います:

編集テキスト ボックスに入力したテキストを動的に更新するにはどうすればよいですか?

解決:

この拡張機能は、リリース 2011a (R2011a) に組み込まれています。以前の製品リリースについては、考えられる回避策について以下をお読みください。

これは、MATLAB の編集ボックス UICONTROL の予想される動作です。

「keypressfcn」を使用してキーボード入力を取得してみてください。添付の 2 つのファイルは、リアルタイムのテキスト更新の機能を示しています。上部の編集ボックスにテキストを入力すると、入力したテキストがその下の編集ボックスにコピーされます。

  1. 次の 2 つのファイルをダウンロードしてください。 test_keypressfcn.m test_keypressfcn.fig
  2. プログラムを実行します。
  3. GUI が表示されます。GUI に表示される上部のエディット ボックスにテキストを入力します。
  4. 上部の編集ボックスに test を入力すると、下部の編集ボックスのテキストが動的またはリアルタイムで更新されることを確認します。

これは、編集ボックスに連続して入力されたテキストに対してのみ機能することに注意してください。編集ボックスに既に入力されている単語の間に入力すると、GUI は期待どおりに動作しません。目的の動作を得るには、この例のようなロジックを実装する必要があります。

于 2013-02-14T21:49:15.373 に答える