動作
wxPython 押したボタンによってカーソルの形を変えてみました。参考サイト
wxPython - BusyCursorの開始と終了https://stackoverrun.com/ja/q/10246721
カーソルの形
wx.StockCursorhttps://wxpython.org/Phoenix/docs/html/wx.StockCursor.enumeration.html
StockCursor列挙体は以下の値を提供します。
説明 値
wx.CURSOR_NONE
wx.CURSOR_ARROW 標準の矢印カーソル。
wx.CURSOR_RIGHT_ARROW 右向きの標準矢印カーソル。
wx.CURSOR_BULLSEYE ブルズアイカーソル。
wx.CURSOR_CHAR 長方形の文字カーソル。
wx.CURSOR_CROSS 十字カーソル。
wx.CURSOR_HAND ハンドカーソル
wx.CURSOR_IBEAM Iビームカーソル(垂直線)。
wx.CURSOR_LEFT_BUTTON 左ボタンが押された状態のマウスを表します。
wx.CURSOR_MAGNIFIER 拡大鏡アイコン。
wx.CURSOR_MIDDLE_BUTTON 中央のボタンが押された状態のマウスを表します。
wx.CURSOR_NO_ENTRY 無記入記号カーソル。
wx.CURSOR_PAINT_BRUSH 絵筆カーソル。
wx.CURSOR_PENCIL 鉛筆のカーソル
wx.CURSOR_POINT_LEFT 左向きのカーソル。
wx.CURSOR_POINT_RIGHT 右向きのカーソル。
wx.CURSOR_QUESTION_ARROW 矢印と疑問符
wx.CURSOR_RIGHT_BUTTON 右ボタンが押された状態のマウスを表します。
wx.CURSOR_SIZENESW NE-SW指すサイズ変更カーソル。
wx.CURSOR_SIZENS NS指すサイズ変更カーソル。
wx.CURSOR_SIZENWSE NW-SE指すサイズ変更カーソル。
wx.CURSOR_SIZEWE WE指すサイズ変更カーソル。
wx.CURSOR_SIZING 一般的なサイズ変更カーソル。
wx.CURSOR_SPRAYCAN スプレースキャンカーソル。
wx.CURSOR_WAIT 待機カーソル
wx.CURSOR_WATCH ウォッチカーソル
wx.CURSOR_BLANK 透明カーソル
wx.CURSOR_DEFAULT 標準X11カーソル(wxGTKのみ)
wx.CURSOR_COPY_ARROW MacOSテーマプラス矢印(Macのみ)。
wx.CURSOR_ARROWWAIT 標準の矢印付きの待機カーソル。
wx.CURSOR_MAX
以下のサイトでカーソルの形も自作できるような?
wx.Cursor
https://wxpython.org/Phoenix/docs/html/wx.Cursor.html全コード
E:\MyBackups\goolgedrive\myprg_main\python_my_prg\wxpython\dc\お絵かき3\setCursorMy.py# coding: UTF-8
import wx
class TestFrame(wx.Frame):
#def __init__(self, parent):
def __init__(self, parent, *args ,**kargs):
frame = wx.Frame.__init__(self, parent, *args, **kargs)
#wx.Frame.__init__(self, None)
self.SetBackgroundColour("#FFFFFF") #白色
#sizer 上から順に縦方向に並べる
self.rootSizer = wx.BoxSizer(wx.VERTICAL)
# Spacer 隙間を作るようだ。VERTICALなので最初の80はあんまり関係ないような
self.rootSizer.Add((80, 80))
self.buttonActive = wx.Button(self,-1,"Activate",size=(100,100))
#ボタンをおしたら
self.buttonActive.Bind(wx.EVT_BUTTON, self.OnActivate)
#引数(対象物、ID、配置)と思う。ALIGN_CENTER:中央によせる
#https://qiita.com/Kenta-Han/items/fae6f5f054bfe91c8a5f
self.rootSizer.Add(self.buttonActive,0,wx.ALIGN_CENTER)
self.rootSizer.Add((80,80)) # Spacer
self.buttonDisable = wx.Button(self,-1, "Disable", size=(100,100))
self.buttonDisable.Bind(wx.EVT_BUTTON, self.OnDisabled)
self.rootSizer.Add(self.buttonDisable,0,wx.ALIGN_CENTER)
self.SetSizer(self.rootSizer)
#ボタンをおしたら
def OnActivate(self,evt):
print "Activate"
#カーソルの形が待つのになる
self.SetCursor(wx.StockCursor(wx.CURSOR_WAIT))
#ボタンをおしたら
def OnDisabled(self, evt):
print "Disabled"
#カーソルの形が通常の矢印になる
self.SetCursor(wx.StockCursor(wx.CURSOR_ARROW))
if __name__ == '__main__':
app = wx.App(None)
#元コードではbuttonDisableのボタンがみえないのでサイズを大きくする
frame = TestFrame(None, size=(300, 500))
frame.Show()
app.MainLoop()
0 件のコメント:
コメントを投稿