Python で書かれた Anki というフラッシュ カード プログラムを使用しています。最初のアドオンを書きたいと思います。私はPythonが初めてです。私は技術者ではありませんが、Java、C++、C# などで他の人のコード内を飛び回った経験が数年あります。
フラッシュ カードには、「フランスの首都は?」などの質問が表示されます。「答えを表示」ボタンを押すと、Anki は「パリ」という答えを表示します。
このテキスト「Paris」を表示する前に取得したいと思います。
Anki コードのこの時点に到達しました。この時点で、カードには「フランスの首都?」と表示されます。答えはまだ空白です。「val」(「Paris」だと思います)を取得して、アドオンで使用できるようにしたいと思います。
def _getTypedAnswer(self):
self.web.evalWithCallback("typeans ? typeans.value : null", self._onTypedAnswer)
def _onTypedAnswer(self, val):
self.typedAnswer = val
self._showAnswer()
私はこれの意味を見つけようとグーグルで検索してきました:
("typeans ? typeans.value : null", self._onTypedAnswer)
私はすべてのコードにアクセスでき、レスポンダーに役立つ可能性のあるコードを提供できます。
ありがとう。
追加: 回答者からの質問の後。
Anki は、コンピューターまたはインターネット上で実行できます。学習カードの結果はすべて同期されるため、エンド ユーザーに関する限り、どちらの方法でも違いはありません。
「webview」クラスから:
def evalWithCallback(self, js, cb):
self.page().runJavaScript(js, cb)
「レビュアー」クラスには、質問と回答が表示されます。レビュアーウィンドウは「mw」(「メインウィンドウ」の意)
クラス "reviewer" の init ステートメントは次のとおりです。
def __init__(self, mw):
self.mw = mw
self.web = mw.web