ShelveでToDo

前にpythonのshelveを利用して作成した、パスワード管理のツールを少し改造して、ToDoのメモ用に使ってみることにした。

今回は削除機能は必須。
インデックスキーを取得して、( entrykey.get() とする)

db = shelve.open(fn)

del db[str(entrykey.get())]

リスト表示にはscrolledtextというwidgetを使っていて、クリックでitemを選択するというのは難しい。
indexを手入力するのでも足りるが、ドロップダウンリストでindexを選んでみることにした。

ttkの説明が少なくて苦労した。
最初から、ドロップダウンのitemをセットしている例は多いが、ファイルを選択して初めてitemがわかる仕様なのでそうはいかない。(ファイルを分けることで複数のテーマを対象にできる。ToDoとパスワード管理とか)

for sbk in db.keys():
        item_list.append(str(sbk))

CmbKeyEntry.configure(values=(item_list))

configureが正解でした。

ちなみに、削除は1回目はインデックスを900番台にして、下部に表示しておくことにして、2回目で実削除することにした。
終わった作業を確認することができるし、終わったはずなのに復活してくることもあるし、みたいな。

テーマもBLACKに変更してみた。
割とカッコイイ。

   s = ttk.Style()
   s.theme_use('black')