kiwo's blog

PythonのPythonista3で遊んでます。パソコン系の話題が好き!

Pythonista3の速攻リマインダーアプリの作り方!

どうもこんにちはkiwoです!

今回は個人的に欲しかったアプリを作りました!

はじめに

まずアプリを作った経緯ですが僕がよく嫁から仕事帰りにおつかいを頼まれる事が多いんですね。

それで後でお金返して貰う為によく使うリマインダーにメモをするのですが毎回リマインダーを起動して文字を打つのが面倒w
という事でささっとリマインダーにメモが取れるアプリを作りました。

本題

ではコードの紹介です。

理想としてはタップするだけでメモを取りたかったのでPythonista3でuiモジュールremindersモジュールを使います。

コードがこちら

import ui
import reminders

def bt_tap(sender):
	ti = sender.title
	label = sender.superview['label1']
	label.text += ti

def cl_bt(sender):
	label = sender.superview['label1']
	label.text = ' '

def rm_tap(sender):
	label = sender.superview['label1']
	r = reminders.Reminder()
	lt = label.text
	r.title = lt
	r.save()
	label.text = ' '
	
v = ui.load_view()
v.present('sheet')
v.background_color = '#ededed'
v.name = 'rem' 

あとpyuiファイルの配置です

ここからdefったことについて説明します。

def bt_tap(sender):
	ti = sender.title
	label = sender.superview['label1']
	label.text += ti	 

一つ目の関数ですがボタンのアクションにはコードで定義したbt_tap関数を。
ここでは上のラベルに押したボタンの番号を送っています。

あと注意点ですがラベルにボタンの番号を送る際に(=)だけだとラベルに表示される番号が上書きされてその番号だけが表示となるので必ず(+=)とするように!

その逆パターンを利用してクリアボタンを作ってます!
これです。

def cl_bt(sender):
	label = sender.superview['label1']
	label.text = ' '	 


あとラベルにリマインダーにメモしたい事が決まったらリマインダーにメモを送るボタンを作ります!

def rm_tap(sender):
	label = sender.superview['label1']
	r = reminders.Reminder()
	lt = label.text
	r.title = lt
	r.save()
	label.text = ' '	 

コードの動作説明ですがr変数にリマインダーする関数を設定しまして
次にラベルのテキストをlt変数にいれて
lt変数をリマインダーのタイトルに設定します!
それでsave関数でリマインダーに保存!
保存されると最後に空の文字列を送ってラベル内の文字をリセットしてます。
詳しく知りたい方はPythonista3のドキュメントにremindersモジュールの説明があるのでこちらを見てください!
http://omz-software.com/pythonista/docs/ios/reminders.html

和訳面倒ってかたは良かったら僕の翻訳アプリ的なのもありますので良かったらこの記事も見てください笑
http://kassaaaah.hatenablog.com/entry/2018/09/19/204052

最後に

以上で速攻リマインダーアプリの出来上がりです笑
個人的結構気にっていてよく使ってます。

皆さんもこのアプリでネチネチ嫁さんを攻めましょう笑