リンク

2016年8月2日火曜日

pythonでGUIツールを作る ~アバウトダイアログ~

wxPythonでは数々の即席ダイアログが初めから用意されています。

みなさんもひとつくらいはフリーソフトをダウンロードして使っていることと思います。
そんなソフトの中に「バージョン情報」や「○○について」といった文言で、そのソフトの情報を表示するダイアログを見たことがあるのではないでしょうか。

今回ご紹介するのはそんな「アバウトダイアログ」です。
# -*- coding: utf-8 -*-

import wx
import wx.adv

def click(event):
    """ Click Event """

    info = wx.adv.AboutDialogInfo()

    info.SetName(u'オリジナルアプリ')
    info.SetVersion('1.0.0.1')
    info.SetCopyright('Copyright 2016 TAKE. All Right Reserved. ')
    info.SetDevelopers(['TAKE'])
    info.SetDescription(u'ここには説明を書きます')
    info.SetIcon(wx.Icon('a.png'))

    wx.adv.AboutBox(info)


app = wx.App()

frame = wx.Frame(None, -1, u'タイトル', size=(200, 200))
frame.CreateStatusBar()
p = wx.Panel(frame, -1)

button = wx.Button(p, -1, u'表 示')
button.Bind(wx.EVT_BUTTON, click)

frame.Show()
app.MainLoop()

<結果>

続いて詳細を見ていきます。

pythonでGUIツールを作る ~進捗ダイアログ~

wxPythonでは数々の即席ダイアログが初めから用意されています。

今回ご紹介するのは、時間のかかる処理の進捗状況を表示する「プログレスダイアログ」です。
# -*- coding: utf-8 -*-

import wx
import time

# ボタンのクリックイベント
def click(event):
    # プログレスダイアログ
    dlg = wx.ProgressDialog(u'コピー中(大嘘)', u'0/50ファイル', 50)
    dlg.ShowModal()

    # ループ処理
    for a in range(0, 50):
        # 0.5秒待つ
        time.sleep(0.5)

        # 値の更新
        dlg.Update(a, u'%d/50ファイル' % a)

    dlg.Destroy()


app = wx.App()

frame = wx.Frame(None, wx.ID_ANY, u'タイトル', size=(200, 200))
frame.CreateStatusBar()
p = wx.Panel(frame, wx.ID_ANY)

button = wx.Button(p, wx.ID_ANY, u'開 始')
button.Bind(wx.EVT_BUTTON, click)

frame.Show()
app.MainLoop()

<結果>

続いて詳細を見ていきます。

2016年6月30日木曜日

pythonでGUIツールを作る ~選択ダイアログ(マルチ)~

wxPythonでは数々の即席ダイアログが初めから用意されています。

今回はそんな中から複数の項目を選択する場合に使用する「マルチチョイスダイアログ」をご紹介します。
# -*- coding: utf-8 -*-

import wx

# ボタンのクリックイベント
def click(event):
    # マルチチョイスダイアログ
    selections = [u'りんご', u'みかん', u'いちご', u'バナナ', u'スイカ', u'メロン']
    dlg = wx.MultiChoiceDialog(None, u'果物を入力してください', u'タイトル部分', selections)
    dlg.ShowModal()
    dlg.Destroy()

    # 選択項目を全て取得
    input_text = dlg.GetSelections()

    text = ""
    for r in input_text:
        text += selections[r] + ", "

    frame.SetStatusText(text)


app = wx.App()

frame = wx.Frame(None, -1, u'タイトル', size=(200, 200))
frame.CreateStatusBar()
p = wx.Panel(frame, -1)

button = wx.Button(p, -1, u'ボタン')
button.Bind(wx.EVT_BUTTON, click)

frame.Show()
app.MainLoop()

<結果>


続いて詳細を見ていきます。

2016年6月29日水曜日

pythonでGUIツールを作る ~選択ダイアログ(シングル)~

wxPythonでは数々の即席ダイアログが初めから用意されています。

今回はそんな中から単一の項目を選択する場合に使用する「シングルチョイスダイアログ」をご紹介します。
# -*- coding: utf-8 -*-

import wx

# ボタンのクリックイベント
def click(event):
    # シングルチョイスダイアログ
    selections = [u'りんご', u'みかん', u'いちご', u'バナナ', u'スイカ', u'メロン']
    dlg = wx.SingleChoiceDialog(None, u'果物を入力してください', u'タイトル部分', selections)
    dlg.ShowModal()
    dlg.Destroy()

    # 選択項目の文字列を取得
    input_text = dlg.GetStringSelection()

    # 文字列をステータスバーに表示する
    frame.SetStatusText(u"選択された果物は%sです" % input_text)

app = wx.App()

frame = wx.Frame(None, -1, u'タイトル', size=(200, 200))
frame.CreateStatusBar()
p = wx.Panel(frame, -1)

button = wx.Button(p, -1, u'ボタン')
button.Bind(wx.EVT_BUTTON, click)

frame.Show()
app.MainLoop()

<結果>


続いて詳細を見ていきます。

2016年6月27日月曜日

pythonでGUIツールを作る ~数値入力ダイアログ~

wxPythonでは数々の即席ダイアログが初めから用意されています。

今回はそんな中から数値を入力できる「数値入力ダイアログ」をご紹介します。
# -*- coding: utf-8 -*-

import wx

# ボタンのクリックイベント
def click(event):
    # 数値入力ダイアログ
    dlg = wx.NumberEntryDialog(None, u'個数を入力してください', u'1~300個', u'タイトル部分', 50, 1, 300)
    dlg.ShowModal()
    dlg.Destroy()

    # 入力値を取得
    input_text = dlg.GetValue()

    # 入力値をステータスバーに表示する
    frame.SetStatusText(u"指定された個数は%d個です" % input_text)

app = wx.App()

frame = wx.Frame(None, -1, u'タイトル', size=(200, 200))
frame.CreateStatusBar()
p = wx.Panel(frame, -1)

button = wx.Button(p, -1, u'ボタン')
button.Bind(wx.EVT_BUTTON, click)

frame.Show()
app.MainLoop()

<結果>


続いて詳細を見ていきます。

2016年6月23日木曜日

pythonでGUIツールを作る ~テキスト入力ダイアログ~

wxPythonでは数々の即席ダイアログが初めから用意されています。

今回はそんな中から任意の文字列を入力できる「テキスト入力ダイアログ」をご紹介します。
# -*- coding: utf-8 -*-

import wx

# ボタンのクリックイベント
def click(event):
    # テキスト入力ダイアログ
    dlg = wx.TextEntryDialog(None, u'テキストを入力してください', u'タイトル部分')
    dlg.ShowModal()
    dlg.Destroy()

    # 入力値を取得
    input_text = dlg.GetValue()

    # 入力値をステータスバーに表示する
    frame.SetStatusText(input_text)


app = wx.App()

frame = wx.Frame(None, -1, u'タイトル', size=(200, 200))
frame.CreateStatusBar()
p = wx.Panel(frame, -1)

button = wx.Button(p, -1, u'ボタン')
button.Bind(wx.EVT_BUTTON, click)

frame.Show()
app.MainLoop()

<結果>

続いて詳細を見ていきます。

2016年6月21日火曜日

pythonでGUIツールを作る ~カラー選択ダイアログ~

今回はpythonからwxPythonを使ってカラー選択ダイアログを表示させる方法をご紹介します

# -*- coding: utf-8 -*-

import wx
app = wx.App()
frame = wx.Frame(None, -1, u'タイトル', size=(300, 300))

# カラー選択ダイアログの表示 = = = = = = = = = = = = = = = = =
dialog = wx.ColourDialog(None)
dialog.ShowModal()

# 選択したカラーを取得
color = dialog.GetColourData().GetColour()

# フレームの背景色に選択したカラーを設定
frame.SetBackgroundColour(color)
# = = = = = = = = = = == = = = = = = = = = = = = = = = = = = =

frame.Show()
app.MainLoop()

<結果>

続いて詳細を見ていきます。