リンク

2016年11月3日木曜日

pythonでGUIツールを作る ~ slider スライダー ~

ここではwx.Slider(スライダー)をご紹介します。

スライダーは直観的な操作で値の上下を促すことができます。
例えば、音量の上げ下げや明るさの調整なんかでよく使われていますね。
# -*- coding: UTF-8 -*-

import wx

application = wx.App()

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

slider = wx.Slider(p, wx.ID_ANY)

layout = wx.BoxSizer(wx.VERTICAL)
layout.Add(slider, flag=wx.EXPAND | wx.ALL, border=10)
p.SetSizer(layout)

frame.Show()
application.MainLoop()

<結果>

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

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



- - - 詳細 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
slider = wx.Slider(p, wx.ID_ANY)
スライダーを作成するにはwx.Sliderクラスを使用します。
基本的な引数は(親ウィジット、識別子)です。

この時、初期値・最小値・最大値を指定することもできます。
その時の引数は(親ウィジット、識別子、初期値、最小値、最大値)となります。
slider = wx.Slider(p, wx.ID_ANY, value=50, minValue=0, maxValue=100) 
未指定の場合は初期値=0、最小値=0、最大値=100がデフォルトで指定されます。

さらにスタイルを指定することで、縦方向にしたり、目盛りや現在値を表示させることができます。
# 横方向(デフォルト)
style=wx.SL_HORIZONTAL

# 縦方向
style=wx.SL_VERTICAL

# 目盛りを表示
style=wx.SL_AUTOTICKS

# 現在値、最小値、最大値のラベルを表示
style=wx.SL_LABELS

# 目盛りを上側に表示
style=wx.SL_TOP

# 目盛りを下側に表示
style=wx.SL_BOTTOM

# 目盛りを右側に表示
style=wx.SL_RIGHT

# 目盛りを左側に表示
style=.SL_LEFT

# 最小値と最大値の位置を入れ替える
style=wx.SL_INVERSE

<参考画像>


ここからは、よく使用する主な関数をご紹介します。
# 現在値を取得する
slider.GetValue()

# 現在値を指定する
slider.SetValue(30)

# 最小値を取得する
slider.GetMin()

# 最小値を指定する
slider.SetMin(10)

# 最大値を取得する
slider.GetMax()

# 最大値を指定する
slider.SetMax(200)

# 最小値と最大値をタプルで取得する
slider.GetRange()

# 最小値と最大値を一括指定する
slider.SetRange(10, 200)

# 方向キーを押したときに移動する値を取得する
slider.GetLineSize()

# 方向キーを押したときに移動する値を指定する
slider.SetLineSize(10)

# マウスを左クリックしたときに移動する値を取得する
slider.GetPageSize()

# マウスを左クリックしたときに移動する値を指定する
slider.SetPageSize(10)

0 件のコメント:

コメントを投稿