ランサーズ等のサービスを開発・運用する中で得た知識やノウハウを紹介しています。

wxPython

Labels:  Python 投稿者:yutaka

Python/wxPythonでGUIプログラミング

wxPython

はじめまして!ランサーズのyutakaです。

今回はwxPythonでGUIプログラミングをしてみようと思います。

wxPythonとは?

wxPythonはPythonで記述されたクロスプラットフォームなウィジェット・ツールキットです。
C++で書かれたwxWidgetsというライブラリのPythonラッパーになります。
Windows、Linux、MacOS環境で動作するGUIアプリが簡単に作成できます。

今回はMacOSX環境で動かしています。

OS: Mac OS X(10.9)
Python: 2.7
wxPython: 3.0

http://www.wxpython.org/
wxPythonは公式サイトからDL可能です。
Mac版はdmgからインストール出来ます。

ウィンドウを表示してみる

まずは小さいウィンドウを表示してみましょう。

import wx
app = wx.App()
frame = wx.Frame(None, -1, 'title')
frame.Show(True)
app.MainLoop()

上記を実行すると小さいウィンドウが表示されます。

wxwindow

frame = wx.Frame(None, -1, 'title')

wx.Frameオブジェクトを生成しました。 wx.Frameは他のウィジェットの親になるオブジェクトです。
第1引数でNone を指定しています。これは、そのウィジェットは親を持たないということになります。


frame.Show(True)

Show() メソッドを呼び出してウィンドウを表示します。


app.MainLoop()

最後の行で、メインループに入っていきます。 メインループは アプリケーションが発生する全てのイベントを受け取ります。

たったこれだけでウィンドウを作成することができました。

次回はwxPythonを使って何かアプリを作ってみようと思います。

ランサーズではサービスを成長させてくれるエンジニア、デザイナーを募集しています!
ご興味がある方は、以下URLよりご応募ください。


【中途採用】
サービスリードエンジニア
テックリード(アーキテクト)
フロントエンドエンジニア
サーバーサイドエンジニア
業務エンジニア(社内システム基盤・基幹システム)

【インターン・学生バイト】
19新卒対象サマーインターン
エンジニアインターン

その他採用情報

関連記事

thumbnail
ランサーズの仕事を機械学習で分類する – 1. 概要 –

ランサーズは、企業などが仕事を依頼し、フリーランサーが自分に合った仕事を選ぶのを手助けするプラットフォームです。 ランサーズでは、依頼された仕事を8つのカテゴリのいづれかに属するように分類しています。依頼された仕事のタイトルからどのカテゴリに属するかを機械学習 …

thumbnail
サンプルデータを使ってリアルタイムレコメンデーションを作る – 3. Webアプリケーションとしての実装 –

サンプルデータを使ってリアルタイムレコメンデーションを作る – 3. Webアプリケーションとしての実装 – はじめに 参考書 レコメンドとは データセット 特徴エンジニアリング 類似度計算 TF-IDF 次元圧縮 コサイン類似度 バイ …

thumbnail
Lancers社におけるスパムメッセージに対する取り組み

ランサーズ社では今年の4月頃から毎週金曜日に自分の好きなテーマの開発ができる20%ルールというものを設けました。6月頃から20%ルールの中で機械学習の取り組みが本格化し始め、外部サービスを使って提供していたレコメンドシステムを内製化することを目標として社内から …