python中button的属性_Python curses.BUTTON1_RELEASED属性代码示例

# 需要导入模块: import curses [as 别名]

# 或者: from curses import BUTTON1_RELEASED [as 别名]

def _encode_mouse_event(self):

# convert to escape sequence

last = next = self.last_bstate

(id,x,y,z,bstate) = curses.getmouse()

mod = 0

if bstate & curses.BUTTON_SHIFT: mod |= 4

if bstate & curses.BUTTON_ALT: mod |= 8

if bstate & curses.BUTTON_CTRL: mod |= 16

l = []

def append_button( b ):

b |= mod

l.extend([ 27, ord('['), ord('M'), b+32, x+33, y+33 ])

if bstate & curses.BUTTON1_PRESSED and last & 1 == 0:

append_button( 0 )

next |= 1

if bstate & curses.BUTTON2_PRESSED and last & 2 == 0:

append_button( 1 )

next |= 2

if bstate & curses.BUTTON3_PRESSED and last & 4 == 0:

append_button( 2 )

next |= 4

if bstate & curses.BUTTON4_PRESSED and last & 8 == 0:

append_button( 64 )

next |= 8

if bstate & curses.BUTTON1_RELEASED and last & 1:

append_button( 0 + escape.MOUSE_RELEASE_FLAG )

next &= ~ 1

if bstate & curses.BUTTON2_RELEASED and last & 2:

append_button( 1 + escape.MOUSE_RELEASE_FLAG )

next &= ~ 2

if bstate & curses.BUTTON3_RELEASED and last & 4:

append_button( 2 + escape.MOUSE_RELEASE_FLAG )

next &= ~ 4

if bstate & curses.BUTTON4_RELEASED and last & 8:

append_button( 64 + escape.MOUSE_RELEASE_FLAG )

next &= ~ 8

if bstate & curses.BUTTON1_DOUBLE_CLICKED:

append_button( 0 + escape.MOUSE_MULTIPLE_CLICK_FLAG )

if bstate & curses.BUTTON2_DOUBLE_CLICKED:

append_button( 1 + escape.MOUSE_MULTIPLE_CLICK_FLAG )

if bstate & curses.BUTTON3_DOUBLE_CLICKED:

append_button( 2 + escape.MOUSE_MULTIPLE_CLICK_FLAG )

if bstate & curses.BUTTON4_DOUBLE_CLICKED:

append_button( 64 + escape.MOUSE_MULTIPLE_CLICK_FLAG )

if bstate & curses.BUTTON1_TRIPLE_CLICKED:

append_button( 0 + escape.MOUSE_MULTIPLE_CLICK_FLAG*2 )

if bstate & curses.BUTTON2_TRIPLE_CLICKED:

append_button( 1 + escape.MOUSE_MULTIPLE_CLICK_FLAG*2 )

if bstate & curses.BUTTON3_TRIPLE_CLICKED:

append_button( 2 + escape.MOUSE_MULTIPLE_CLICK_FLAG*2 )

if bstate & curses.BUTTON4_TRIPLE_CLICKED:

append_button( 64 + escape.MOUSE_MULTIPLE_CLICK_FLAG*2 )

self.last_bstate = next

return l

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值