リンク

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()

<結果>

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


~~詳細~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

上記のスクリプトを実行すると、まずカラー選択ダイアログが表示され、次に何もないフレームが表示されます。
その際、選択したカラーがフレームの背景色に設定されます。
# カラー選択ダイアログの表示 = = = = = = = = = = = = = = = = =
dialog = wx.ColourDialog(None)
dialog.ShowModal()
ここでwx.ColourDialogクラスをインスタンス化し、モーダル表示させています。
インスタンス化時の引数は(親ウィジット)です。

# 選択したカラーを取得
color = dialog.GetColourData().GetColour()
次に、選択したカラーを取得し、変数に格納しています。
変数colorの内容は赤を選択した場合は「(255, 0, 0, 255)」となります。

# フレームの背景色に選択したカラーを設定
frame.SetBackgroundColour(color)
そして、取得したカラー値をフレームの背景色に設定します。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

今回はスクリプト実行時にダイアログが出るようにしていますが、実際の使用方法としてはボタンのイベントに組み込むなどの方法が多いと思います。
その場合は、対象のカラーを設定後、Refresh()する必要がありますので注意してください。

=======================================================================
環 境:Python 2.7.9 / Windows7
=======================================================================
この記事が参考になりましたら、シェア・フォロー・おすすめしていただけると励みになります! \(^o^)/
=======================================================================


0 件のコメント:

コメントを投稿