読者です 読者をやめる 読者になる 読者になる

MyEnigma

とあるエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

PythonのデフォルトGUIモジュールTkinterを使用したシンプルなGUIライブラリを作った

Python

目次

はじめに

自分はCUI好きなので、

あまり個人的なツールにGUIは不要だと思っていましたが、

やはりファイルを選択させたり、

様々なオプションを選択させたり、

各パラメータに値を入力させたりしたい時には、

シンプルなGUIインターフェイスがあるといいなと思っていました。

 

そこで今回、Pythonのデフォルトモジュールである

TkinterというGUIコンポーネントを使うことにより、

上記のような簡単なGUI処理ができるライブラリを作成したので

紹介したいと思います。

 

シンプルなGUIライブラリ: SimpleTkGUIKit

作成したGUIライブラリSimpleTkGUIKitは

下記のGithubリポジトリで管理されています。

github.com

 

インストール方法

インストール方法はpipをインストールしていれば、

下記のコマンドでインストールできます。

sudo pip install SimpleTkGUIKit

使い方

インストールした後は、

下記のコマンドでモジュールのクラスをインストールして下さい。

from SimpleTkGUIKit import SimpleTkGUIKit 

GetFilePathsWithDialog

この関数は、

OSのGUIウインドウを使って、

選択したファイルのパスを取得することができます。

fileList=SimpleTkGUIKit.GetFilePathsWithDialog()
print fileList

下記のようにfileTypesを指定することで、

指定した拡張子のファイルのみを選択させることができます。

fileList=SimpleTkGUIKit.GetFilePathsWithDialog(fileTypes=[('CSV Files', '.csv')])
print fileList

GetRadioButtonSelect

これは選択オプションをリストで渡すことにより、

ラジオボタンによるオプション選択を可能にする関数です。

(selected,index)=SimpleTkGUIKit.GetRadioButtonSelect(["sample a","sample b","sample c"])
print selected

上記のようなコードを実行すると、

下記のようなラジオボタンのGUIによって、

一つのオプションを選択させることができます。

f:id:meison_amsl:20151226212207p:plain

オプションを選択したあと、OKボタンを押すと

選択されたオプション名とリストのインデックスが返り値となります。

 

また、下記のようにGUIウインドウの名前や、

ラジオボタンのラベルを指定することもできます。

(selected,index)=SimpleTkGUIKit.GetRadioButtonSelect(["Red","Green","Blue"],title="Color Select",msg="Please select color")
print selected

f:id:meison_amsl:20151226212223p:plain

GetListSelect

この関数はリストGUIによってオプションを選択できる関数です。

GUIがリストになるだけで、

基本的には上記のラジオボタン関数と使い方は同じです。

print "GetListSelect"
(selected,index)=SimpleTkGUIKit.GetListSelect(["sample a","sample b","sample c"])
print (selected,index)

f:id:meison_amsl:20151226212234p:plain

先ほどと同様に、ウインドウの名などのオプション指定もできます。

(selected,index)=SimpleTkGUIKit.GetListSelect(["sample a","sample b","sample c"], title="Select sample", msg="Please select sample")
print (selected,index)

f:id:meison_amsl:20151226212243p:plain

GetCheckButtonSelect

こちらはチェックボタンによって

オプションを設定することができる関数です。

これまでのラジオボタンやリストのGUIと異なり、

複数のオプションを指選択することができます。

print "GetCheckButtonSelect"
optList=SimpleTkGUIKit.GetCheckButtonSelect(["sample a","sample b","sample c"], title="Select sample", msg="Please select sample")

f:id:meison_amsl:20151226212254p:plain

この関数は、引数として与えたリストに対して、

選ばれたかどうかを表す真偽値を組み合わせた辞書型を返します。

 

GetEntries

この関数は、任意のstring型を入力させることができるGUIツールです。

下記のコードのように指定された文字列に対して、

一行の文字列を入力させることができます。

print "GetEntries"
dataList=SimpleTkGUIKit.GetEntries(["x","y","z"], title="set entris", msg="Please set entries")
print dataList

f:id:meison_amsl:20151226212306p:plain

文字列なので、様々なパラメータを入力させることができます。

当然、数値も入力できますが、

返り値としてはstringで返ってくるので

数値への変換はクライアント側でする必要があります。

  

PyPIのライブラリページ

本ライブラリのPyPiのサイトは下記のURLです。

SimpleTkGUIKit

 

Licence

本ライブラリのライセンスはMITライセンスとしています。

MIT

 

参考資料

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com