リンク

2016年10月31日月曜日

pythonでGUIツールを作る ~RadioBox~

ここではwx.RadioBoxをご紹介します。

以前、wx.RadioButtonについてご紹介させていただきました。
今回ご紹介するwx.RadioBoxは基本的には同じですが、記述方法など少々異なります。

# -*- coding: UTF-8 -*-

import wx

application = wx.App()

frame = wx.Frame(None, wx.ID_ANY, u"タイトル", size=(300,200))
panel = wx.Panel(frame, wx.ID_ANY)

item = (u"項目1", u"項目2", u"項目3")
radio_box = wx.RadioBox(panel, wx.ID_ANY, u"グループ名", choices=item)

layout = wx.BoxSizer(wx.VERTICAL)
layout.Add(radio_box, flag=wx.ALL, border=10)

panel.SetSizer(layout)

frame.Show()
application.MainLoop()

<結果>

上記スクリプト内で、過去に解説した内容については省略致します。
ご確認いただきたい場合は、pythonでGUIツールを作る ~基礎編~をご覧ください。

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



~~詳細~~~~~~~~~~~~~~~~~~~~~~~~
item = (u"項目1", u"項目2", u"項目3")
radio_box = wx.RadioBox(panel, wx.ID_ANY, u"グループ名", choices=item)
ラジオボックスを作成するにはwx.RadioBoxクラスを使用します。
基本的な引数は(親ウィジット、識別子、枠の文字列、選択肢のリスト)となります。

また、ラジオボックスでは折り返し位置を指定することもできます。
選択項目が多い場合などに便利です。
例えば、項目が6個あり、3個めで折り返したい場合は次のように記述します。
radio_box = wx.RadioBox(panel, wx.ID_ANY, u"グループ名", choices=item, majorDimension=3)

さらに、並び方向を指定することもできます。
# 横並びを指定
radio_box = wx.RadioBox(panel, wx.ID_ANY, u"グループ名", choices=item, wx.RA_HORIZONTAL)

# 縦並びを指定
radio_box = wx.RadioBox(panel, wx.ID_ANY, u"グループ名", choices=item, style=wx.RA_VERTICAL)
なお、並びはデフォルトで横が指定されています。
縦並びを指定

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ここからは、wx.RadioBoxクラスでよく使用する主な関数をご紹介します。
# 選択項目のインデックスを取得する
GetSelection()

# 指定したインデックスの項目を選択状態にする
SetSelection(0)

# 選択している項目のラベルを取得する
GetStringSelection()

# 指定したインデックスの項目のラベルを取得する
GetItemLabel(0)

# 指定したインデックスの項目のラベルを設定する
SetItemLabel(0)

# 項目の数を取得する
GetCount()

# 行数を取得する
GetRowCount()

# 列数を取得する
GetColumnCount()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ラジオボックスは、ラジオボタンよりも簡単に設置できるます。
基本的な関数は揃っていますので、使い方に困ることはないと思います。

0 件のコメント:

コメントを投稿