見出し画像

【wxPython】GUIアプリを作る第一歩@画面表示編

本記事ではPythonを使ったGUIアプリ開発の初歩中の初歩を記します。
アプリを表示するだけです。
悩みそうなところはコメントいれました。

目標

wxpythonを利用してデスクトップ画面にアプリを表示する。

画像2

準備

wxpythonのインストール
コマンドプロンプトで「pip install wxPython」

サンプルコード

import wx
import wx.adv

# メインフレーム
class MyFrame(wx.Frame):

   # クラス呼び出し時に最初に呼び出されるInitialize関数
   def __init__(self, *args, **kwds):
       # begin wxGlade: MyFrame.__init__
       kwds["style"] = kwds.get("style", 0) | wx.DEFAULT_FRAME_STYLE
       wx.Frame.__init__(self, *args, **kwds)
       self.SetSize((400, 300))
       self.SetTitle("frame")

       # フレーム上にパネルを用意 パネルはコントロールを配置する時に必要になる。とりあえず作っとけばよい
       self.panel_1 = wx.Panel(self, wx.ID_ANY)

       # 配置するためのボックスを用意 コントロールを配置する時はこちらに入れてから配置する。
       # イメージ的にはコントロール⇒ボックス(sizer)⇒パネルの順にはめていく
       sizer_1 = wx.BoxSizer(wx.VERTICAL)

       # 日付を選択できるコントロールをつくる
       self.datepicker_ctrl = wx.adv.DatePickerCtrl(self.panel_1, wx.ID_ANY)

       # 作成した日付コントロールを前述で用意したボックスに入れる。一番右の「1」はコントロール周りのスペース
       sizer_1.Add(self.datepicker_ctrl, 0, wx.LEFT | wx.RIGHT | wx.TOP, 1)

       # ボックスごとパネルにセットする
       self.panel_1.SetSizer(sizer_1)

       # ここまで準備したレイアウトを表示する
       self.Layout()
       # end wxGlade

# end of class MyFrame

# wxPythonを利用するための必須インスタンス
# wxPythonでアプリを作るならこういうもんだくらいの認識でもいいと思う
class MyApp(wx.App):
   def OnInit(self):
       self.frame = MyFrame(None, wx.ID_ANY, "")
       self.SetTopWindow(self.frame)
       self.frame.Show()
       return True

# end of class MyApp

# 起動時に真っ先に処理される決まり事
if __name__ == "__main__":
   app = MyApp(0)
   app.MainLoop()

今回は画面を表示しただけですが、pythonのライブラリを使っていろんな拡張ができます。

最近は株でIPOをやりはじめたので管理ツールでも作ろうとイジイジしてます。
つたない解釈ですが、これくらいは作れるようになりました!

画像2


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