Pythonで書かれたAnkiというフラッシュカードプログラムを使用します。私は最初のアドオンを書きたいと思う。私はPythonが初めてです。私は技術者ではありませんが、Java、C++、C#などで他の人のコードの中を飛び回ってきた経験は数年あります。これらの引数の意味は?
フラッシュカードに「Capital of France?」などの質問が表示されます。 「回答を表示」ボタンが押されると、アンキは答え「パリ」を表示する。
このテキストが表示される前に、このテキスト「パリ」を取りたいと思っています。
私はAnkiコードのこの時点で到着しました。この瞬間、カードには「Capital of France?」と表示されます。答えはまだ空です。私は "val"( "パリ"だと思う)をつかみ、それを私のアドオンで使うことができると思う。
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)
私はすべてのコードへのアクセス権を持っている、と私は応答に役に立つかもしれない任意のコードを提供することができます。
ありがとうございました。
追加:レスポンダからの質問後。
アンキは、コンピュータ上またはインターネット上で実行できます。カードを勉強した結果はすべて同期されるので、エンドユーザーが関心を持つ限り、どちらの方法にも違いはありません。
"のWebView" クラスから:
def evalWithCallback(self, js, cb):
self.page().runJavaScript(js, cb)
"校閲" クラスは、質問と回答を示しています。校閲ウィンドウが
(「メインウィンドウ」の)「MW」はここでクラス「投稿者」
def __init__(self, mw):
self.mw = mw
self.web = mw.web
Pythonの構文ではありませんが、 "Ternary if"と呼ばれています - https://en.wikipedia.org/wiki/%3F: –
を参照してください。多少の外部言語、メソッド名に "web")。 Pythonには、typeans?typeans.value:null ""は単なる文字列です。コードとして使用しているものは何でもPython以外のものです。 'self.web'とは何ですか? 'evalWithCallback'のコードはありますか? – BrenBarn
私はself._showAnswer()があなたの傍受をターゲットにするより良い場所だと思います。 TypedAnswerは、型付きのコンテンツを収集していることを示しています。ボタンがクリックされたときに表示される答えではないかもしれないが、わかりにくい。 – dodell