Qpythonとブラウザでクリップボードを表示する
ここではQpythonを使って、androidhelperとbottleのモジュールをインポートし、ブラウザを開くと保存されているクリップボードが表示されるpythonプログラムの作り方を書いておこ。
・作るファイル(2つ)
pythonコードのmain.py
htmlコードのクリップボード.tpl
・手順
Qpythonを立ち上げる
↓
「エディタ」→右上「+」ボタン→「WebApp」
の順で押していく
↓
「新規プロジェクト」のダイアログが出るので、適当にプロジェクト名を付ける。日本語でもOK。今回は「クリップボード」としておきます。
プロジェクトは自動的に「qpython」フォルダ内の「projects3」フォルダにプロジェクト名「クリップボード」フォルダとして保存されます。
いま画面に出ている自動的に書かれた14行のコードmain.pyファイルは「クリップボード」内に保存されます。
↓
main.pyの2~7行目の下記を削除
#qpy:3 #qpy:webapp:Sample #qpy://localhost:8080/ """ This is a sample for qpython webapp """
特に3行目の
#qpy:webapp:Sample
が残っているとQpythonのWebAppが作成されてしまいます。今回はブラウザに表示させたいので必ず消します。
↓
main.pyを下記のように書き換える
#-*-coding:utf8;-*- from bottle import route,run,template import os os.chdir(os.path.dirname(os.path.abspath(__file__))) @route("/クリップボード") def clipboard_output(): import androidhelper Droid = androidhelper.Android() #クリップボードの中身を取得 clipboard = Droid.getClipboard().result return (template("クリップボード.tpl",clipboard=clipboard)) run(host="localhost",port=8080,debug=True,reloader=True)
↓
次にmain関数がreturnしているtemplateファイル「クリップボード.tpl」を作ります。
Qpythonの初期画面の「エディタ」→右上「+」ボタン→「ファイル」の順に進み、以下のhtmlを作ります。
<!DOCTYPE html> <html lang=ja> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width"> <title>クリップボード</title> </head> <body> <h1>クリップボードの中身</h1> <p>{{clipboard}}</p> </body>
↓
「💾」ボタン→「ファイル名を指定して保存」画面が出る
↓
「qpython」→「projects3」→「クリップボード」フォルダを開くと今作ったmain.pyが入っています。そこに「クリップボード.tpl」と名前を付けて「保存」ボタン。
これで完成。
・実行
この画面の「サインイン」上の丸アイコンを押すと作ったプロジェクト「クリップボード」が緑色のアイコンにあるので押す。
↓
Qpythonは一旦そのままにして今度はブラウザを立ち上げ、URLに「localhost:8080/クリップボード」と入力しenter。
↓
ブラウザにクリップボードが貼り付けられれば成功。
上手くクリップボードが出なかったら、一度Qpythonを終了させて、再度プロジェクトの実行とブラウザからlocalhost:8080/クリップボードにアクセスさせてみれば出るかも。