2
  • webViewShow メソッドを使用して QPython3 で簡単なプログラムを実行しようとしています。
  • HTML ファイルから QPython3 スクリプトへのデータの受信に問題があります。
  • ご覧のとおり、HTML ファイルで droid.eventPost() メソッドを使用していますが、結果をコンソールに出力しようとすると、何も表示されません。

QPython3 スクリプトのコード:

#-*-coding:utf8;-*- 
#qpy:3 
#qpy:console 

from android import Android 

droid = Android() 
droid.webViewShow('/storage/sdcard0/com.hipipal.qpyplus/scripts3/Bluetooth/btLED.html') 

while True: 
    result = droid.eventWait().result 
    print(result['data'])
    droid.eventClearBuffer() 

HTML ファイルのコード:

<!DOCTYPE html>
<html>
<head>
    <meta charset='UTF-8' />
    <meta name="author" content="Jiri" /> 
    <title>blLED.py</title>         

<style>

body{
    background: white;
    margin: 0;
    padding-top: 3%;
    overflow: hidden;
    width: 100%;
    height: 95%; 
    text-align: center;  
}

button{
    margin-top: 1%;
    width: 22%;
    padding-top: 2%;
    padding-bottom: 2%;
    }           

hr{
    width: 75%;
    border-top: 2% solid black;
}

</style>
</head>


<body>

<script>  
    var droid = new Android();
</script>

    <div>LED | OFF</div>

    <hr>

    <button onclick="droid.eventPost('name', '1');">LED ON</button>
    <button onclick="droid.eventPost('name', '0');">LED OFF</button>

    <br>
    <hr>  

    <button onclick="droid.eventPost('name', 'Close');">Close</button>

    <br>  
    <hr>                   

</body>
</html>

私が試したこと:

QPython スクリプトから QPython スクリプトにデータを送信しようとしたため、コードは次のようになりました。

while True:
    droid.eventPost('name', '1')
    result = droid.eventWait().result
    print(result['data'])
    droid.eventClearBuffer()
  • それでも、コンソールは何も出力しませんでした。
  • 私は本当にコードをいじりましたが、それは単純で間違っているべきではないので、どこに問題があるのか​​ わかりません(おそらくいくつかのライブラリが欠けているのでしょうか?またはそのようなものです....私はQPythonとAndroid用のプログラムの初心者です)

質問は次のとおりです。qpython が HTML ファイルからデータを受信しない理由は何か分かりますか? 助けてください....

ありがとう(そして私の英語でごめんなさい)

ジルカ

4

0 に答える 0