- 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 ファイルからデータを受信しない理由は何か分かりますか? 助けてください....
ありがとう(そして私の英語でごめんなさい)
ジルカ