概要
AppjarというTKinterのラッパーを使って、GUIを持ったPythonアプリケーションを作成する。
環境
OS: Windows10
Python: 2.7.15
インストール
pip install appjar
使い方
基本的な流れとしては以下のようになります。
①ライブラリインポート
②GUIインスタンス(ベース)作成
③ウィジェットを追加
④Buttonなどのイベントを発生させるウィジェットに対して、対応する関数を作成
⑤GUIを起動
詳しくは公式を参照してください。
以下は公式にあるHello Worldを少しだけ変えたものです。
# -*- coding: utf-8 -*-
# ①ライブラリのインポート
from appJar import gui
# ②GUIのインスタンスを作成
# 書式: app = gui("Window name","vertical x width")
app = gui("Login Window", "400x200")
# 全体的な背景色、文字色とフォントの指定
app.setBg("black")
app.setFg("white")
app.setFont(16)
# ③GUI上のイベントと連動するための関数を定義
def press(button):
if button == "Cancel":
app.stop()
else:
usr = app.getEntry("Username")
pwd = app.getEntry("Password")
print("User:", usr, "Pass:", pwd)
# ④ベースのインスタンスにウィジェットを追加していく。
app.addLabel("title", "Welcome to appJar")
app.setLabelBg("title", "lightblue")
app.setLabelFg("title", "black")
app.addLabelEntry("Username")
app.addLabelSecretEntry("Password")
# "Submit","Cancel"という2つのボタンを作成し、それに対応するアクションとしてpress関数を指定
app.addButtons(["Submit", "Cancel"], press)
# "Username"にフォーカスをセット
app.setFocus("Username")
# ⑤GUI起動。この後には基本的にコードは書かないこと。
app.go()
大雑把な覚え方としては、gui()のアトリビュートは、
(add or set) + (ウィジェット名) + (パラメータ名)
引数は、
("アトリビュート名", "パラメータの値")
となっているようです。addではパラメータの部分は引数部分にしかないケースもあります。
例えば、app.setLabelBg("title", "lightblue")であれば、
titleという名前の、Labelというウィジェットの、Bgというパラメータの値を、
lightblueという値に、変更(set)しているという形です。
補足
使用可能なウィジェットの一覧
http://appjar.info/pythonWidgets/
ただ、ここには各ウィジェットに対して変更可能なパラメータの一部が書いてあるだけです。例えば、ここだけ見るとMessageには背景とか設定できない?となりますが、そんなことはなくて、基本的なパラメータ(Bg,Fg,Widthなど)は共通です。
こちらを見ると、設定可能なパラメータがより詳しく書いてあります。
まとめ
Appjarは個人的にはTKinterよりも直感的でわかりやすいと思います。
ただドキュメントの配置とか少しわかりにくかったので、使い始めのハードルが少し高い気がします。この記事がそのヘルプになれば幸い。