見出し画像

【Python tkinter】GUI作成ソフト「PAGE」使ってみた

こちゃてすです。今回はPythonの勉強で使用した、GUIの作成ソフトについて書きたいと思います。

そもそもGUIって何?

グラフィカルユーザーインターフェースのことです。
一番身近でいうと、スマートフォンのホーム画面などでしょうか。
アイコンなどをクリックして直感的に操作できるものです。

tkinterとは?

PythonでGUIを作成するためのモジュールです。
僕がお世話になっている、Nintendo Switch自動化ソフトのPoke-ControllerもtkinterによるGUIで構成されています。

モジュールはあるけど作成しづらい

これが一番の問題点です。※ウィジェットが単純な配置であればプログラム的にも難しくないのですが、機能を多く入れこんでいくにはウィジェットが複雑になりがちです。そういうときに配置だけでも楽にプログラムを作成したいですよね。
そんなときでした。PAGEが現れたのは。

※ウィジェットとは
GUIを構成するパーツのことです。ボタンや、テキストボックス、チェックボタンなどがあります。

さっそくですが、中身の話になります。

主な操作画面

全体はこんな感じです。

画像1

Main (メニューバー)
ファイル関連やウインドウの操作ができます。

画像7

Widget Toolbar
配置するウィジェットを選択できます。

画像2

To plevel (GUI配置プレビュー)

画像3

新規プロジェクトを立ち上げた状態なので、まだ何もウィジェットはありません。ウィジェットの大きさや、位置を調整できます。

Attribute Editer

画像4

ウィジェットの属性を編集できます。各項目はtkinterウィジェットの引数と同じです。

Widget Tree

画像5

ウイジットがどのように配置しているか階層をみることができます。
階層の移動や、属性の編集をするためにウィジェットを選択するために使います。

pyファイルへの変換

pageというソフトはなんと、作成したGUIが表示されるpyファイルに変換することができます!

①プロジェクトを保存する
Save Asで保存します。

画像6


②Generate Python GUIでpyファイルを保存する

画像9

するとこんなウインドウが出てくると思います。
この時点ではまだpyファイルは保存されていません。

画像9

このウインドウをクリックしてアクティブにします。
キーボードのWindowsマークと左キーを同時に押します。
するとウインドウ下にこんなボタンが出てくると思います。
Saveでpyファイルを保存します。

画像10

③Generate Support Moduleでpyファイルを保存する

画像9

さっきもpyファイル保存しなかった?と思われますが、プログラムの起動には2つのpyファイルが必要になってきます。両方のpyファイルを同じディレクトリ内に保存します。
こちらも先ほど同様にウインドウの下側にSaveが隠れているので、見えるようにします。windowsマークと右キーを押すと手早く表示できます。

④Runでプログラムを実行
2つのpyファイルを保存できたら、Runを押すことで実行できます。
設定したGUIと同じものが表示されればOKです。
あとは保存したpyファイルを編集して微調整をしていくということになります。

保存されたファイル

画像12

今回の例では、pyファイルはtestとtest_supportという名前で保存されています。

以上です!Pythonの勉強や開発に活用できそうなので、自分も利用していきたいと思います!

参考記事

https://wa3.i-3-i.info/word1371.html
https://ja.wikipedia.org/wiki/%E3%82%A6%E3%82%A3%E3%82%B8%E3%82%A7%E3%83%83%E3%83%88_(GUI)

☆---------------------------------------------------------------------------------☆
お問い合わせはTwitterのDMまで
https://twitter.com/kochatece12

こちゃてすプログラム置き場
(ポケモン剣盾、モンハンライズのプログラムを配布しています!)

Amazonほしいものリスト

☆---------------------------------------------------------------------------------☆

この記事が気に入ったらサポートをしてみませんか?