とあるゲームプログラマの挑戦と敗北の歴史

UE4とプログラミングとmayaとpythonとマラソンを中心に情報を発信する元「技術ブログを目指すブログ」から再始動した毎日の日々を発信するブログです。

pythonでGUIウィンドウの起動ランチャーを作りたい

自宅にあるたくさんの開発環境をpythonで制作したウィンドウにまとめて
「自宅統合開発環境」みたいなものを作ってみたいと思う。

・ウィンドウはpythonで作成。
 (導入手順はなるべくすくなくどのPCでも動作するものを目指す)
・でもコンソールウィンドウを出したくないので起動はvbsで作成
これを目指そうと思う。

まずpythonでランチャーウィンドウを作成

f:id:toncrimentan_w:20200510130238j:plain

#-*- coding: utf-8 -*-
#
# @file     launcher.py
# @brief    ランチャー
#

import sys
import time
import tkinter

#
# @brief  クラスの使い方
#
class LauncherWin(object):

    _window = None

   #
    # @brief    __init__
    #
    def __init__(self):
        # ウィンドウ作成
        self._window = tkinter.Tk()
        self._window.geometry('400x300')
        self._window.title('EdgeWorksNANASE')
        # ボタン1
        btn = tkinter.Button( self._window, text='クリスタの起動'command=self._OnButtonClick )
        btn.place( x=15y=20 )
        # ボタン2
        btn = tkinter.Button( self._window, text='MAYAの起動'command=self._OnButtonClick )
        btn.place( x=15y=50 )
        # ボタン3
        btn = tkinter.Button( self._window, text='ブログ確認'command=self._OnButtonClick )
        btn.place( x=15y=80 )

    #
    # @brief    ボタンのクリックイベント
    #
    def _OnButtonClick(self):
        print('ボタンクリック')

    #
    # @brief    ウィンドウオープン
    #
    def Show(self):
        self._window.mainloop()

# ウィンドウの作成
win = LauncherWin()
win.Show()

実行すると

f:id:toncrimentan_w:20200510130334j:plain

 
そこで起動vbsをつくり、
「コンソール表示しない」指定でpythonを実行する。

f:id:toncrimentan_w:20200510130651j:plain

'ランチャー起動バッチの実行(コンソール非表示)
Set objWShell = CreateObject("Wscript.Shell")
objWShell.run "cmd /c C:/EdgeWorksNanase/Launcher/launcher.py", vbHide

実行すると

f:id:toncrimentan_w:20200510130616j:plain

じゃまなコンソールなしでウィンドウを出すことができた。

これから自宅統合開発環境を集約させていこうと思う。
中二てきな統合開発環境名もかんがえたことだし・・(笑)