ユーザーコードのプログラミング
ここからは、ユーザーコードの作成になります。
ユーザーコードとは、プログラマーが作成するツールの動作プログラムのことです。
今回は、ボタンが押されると数値をインクリメントしていくプログラムを作成しますので、先ほど生成したボタンのコールバック関数を修正していきます。
まずは、サポートコードを開きます。編集前の生成されたコードは以下の通りです。
#! /usr/bin/env python
# -*- coding: utf-8 -*-
#
# Support module generated by PAGE version 6.2
# in conjunction with Tcl version 8.6
# Nov 30, 2021 01:08:38 AM +0900 platform: Windows NT
import sys
try:
import Tkinter as tk
except ImportError:
import tkinter as tk
try:
import ttk
py3 = False
except ImportError:
import tkinter.ttk as ttk
py3 = True
def init(top, gui, *args, **kwargs):
global w, top_level, root
w = gui
top_level = top
root = top
def BT_Click():
print('test_support.BT_Click')
sys.stdout.flush()
def destroy_window():
# Function which closes the window.
global top_level
top_level.destroy()
top_level = None
if __name__ == '__main__':
import test
test.vp_start_gui()
この中の BT_Click()という関数が先ほど設定したボタンのコールバック関数となりますので、この中身を記入していきます。
以下が追加したコードになります。
def BT_Click():
global w
print('test_support.BT_Click')
sys.stdout.flush()
now_str = w.Label1["text"]
now_int = int(now_str) + 1
w.Label1["text"] = str(now_int)
簡単に説明します。
まず、グローバル変数として、wを参照するようにします。
これは 、メインのウィンドのメンバを参照するために必要となります。
今回は、Label1に参照したいので、wをglobalで参照しています。
あとは、簡単です。
以下で、ラベルに表示されているテキストの内容を取得します。
now_str = w.Label1["text"]
続いて、以下で取得した値をint型に変換しインクリメントします。
now_int = int(now_str) + 1
最後に、インクリメントした数値をStringに変換しラベルに再表示しています。
w.Label1["text"] = str(now_int)
これで、プログラムの作成は完了です。
プログラムの実行
生成して、ユーザーコードの実装が終わったので、プログラムを実行してみます。
実行方法は、メインとなるtest.py(testの部分は各自で決めたプロジェクト名)をPythonで実行すればいいだけです。
コマンドプロンプトを起動して、以下の通り実行してください。
※事前に test.py があるフォルダにチェンジディレクトリしていない場合は、絶対パスでファイルを指定してください。
python test.py
以上が、Python tkinter GUIエディタツールの使い方でした。
ちょっと癖はありますが、自分でコードを書くよりも断然簡単にGUIを生成できますので、非常に有効なツールですので、みなさんもぜひ一度使ってみて下さい。
おまけ
今回GUIのツールを作成してみましたが、以下の記事で紹介したPythonをExe化する方法を一緒に使えば、コマンドプロンプトを起動することなくツールを起動して使用できます。
GUIツールを作成した際には、以下を一緒に導入してもらえれば日常的に使用する場合、非常に効率的ですので、ぜひ活用ください!!
Pythonについて勉強したい人は以下がおすすめです。私も持っていてたまに眺めて勉強していますものですのでぜひ購入して学習してみてください。
コメント