mieki256's diary



2020/03/01() [n年前の日記]

#1 [python] PySimpleGUIを試用

Python + tkinter を使えば Python でGUIアプリが作れるわけだけど、更に簡単に使えるようになる PySimpleGUI というライブラリがあると知り、試しに少し触ってみているところ。

_PySimpleGUI - PyPI
_Cookbook - PySimpleGUI
_Tkinterを使うのであればPySimpleGUIを使ってみたらという話 - Qiita
_Pythonでデスクトップアプリを簡単に作る方法 - Speaker Deck
_Pythonで高速にGUIを作りたければ,PySimpleGUIの一択 - Flow-Developers

環境は、Windows10 x64 1909 + Python 2.7.17 32bit, Python 3.7.5 32bit。

Python 2.7を使う場合は注意。 :

Python 3.7.5 を使って PySimpleGUI 4.16.0 を利用した場合は、巷の解説ページで紹介されてるサンプルがすんなり動いてくれた。ちなみに、以下で PySimpleGUI をインストールできる。
pip install pysimplegui

ただ、Python 2.7.17 を使って PySimpleGUI を使おうとしたところ若干ハマった。サンプルを実行しようとしてもエラーが出てしまう。

ググってみたら、Python 2.7 で PySimpleGUI を使いたい場合、PySimpleGUI27 を使わないといかんらしい。

_PySimpleGUI27 - PyPI
_PySimpleGUI tk version Python 2.7 bug - Issue #1016 - PySimpleGUI/PySimpleGUI

pip uninstall pysimplegui
pip install pysimplegui27

import文も少し変わる。
import PySimpleGUI27 as sg
これで一応動いてくれた。

しかし…。
  • PySimpleGUI27 は 2.4.1
  • PySimpleGUI は 4.16.0
PySimpleGUI27 は、かなりバージョンが古い。そのせいか、一部の機能が欠けているようで。例えば theme機能を使おうとすると「そんなメソッドはねえよ」とエラーが出る。

また、Python 3.x なら日本語文字列を「"日本語"」と書けるけど、Python 2.7 では「u"日本語"」と書かないとエラーが出たりもする。

そんなわけで、できれば Python 3.x + PySimpleGUI を使ったほうが良さそうだなと。

そもそも Python 2.7 は、2020年1月にサポートが終了しているし…。

_Python 2の終了日が2020年1月1日に決定
_Python 2系終了のタイムリミット迫る。早く「3系」に切り替えよう:気になるニュース&ネット記事 - @IT
_2020年4月までにPython 3へ移行を - あと4カ月でPython 2サポート終了 | マイナビニュース

PySimpleGUI から分岐して PySimpleGUI27 が用意されたのも、「終わることが決まってるPythonバージョンにも今後対応していくのは無駄だろう」と判断があってのことらしい。

PySimpleGUIの感想。 :

たしかに、レイアウトが簡単に指定できる、ような気がする。リストを書くだけで済むのはありがたい。

以上です。

過去ログ表示

Prev - 2020/03 - Next
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project