⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gwin.py

📁 minimal python variant for small footprint apps like embedded apps
💻 PY
字号:
# Module 'gwin'# Generic stdwin windows# This is used as a base class from which to derive other window types.# XXX DON'T USE THIS CODE ANY MORE!  It is ages old!import stdwin, stdwinqfrom stdwinevents import *from mainloop import mainloop, register, unregister, windows# Open a windowdef open(title):			# Open a generic window	w = stdwin.open(title)	stdwin.setdefwinsize(0, 0)	# Set default event handlers	w.draw = nop	w.char = nop	w.mdown = nop	w.mmove = nop	w.mup = nop	w.m2down = m2down	w.m2up = m2up	w.size = nop	w.move = nop	w.activate = w.deactivate = nop	w.timer = nop	# default command handlers	w.close = close	w.tab = tab	w.enter = enter	w.backspace = backspace	w.arrow = arrow	w.kleft = w.kup = w.kright = w.kdown = nop	w.dispatch = treatevent	register(w)	return wdef treatevent(e):			# Handle a stdwin event	type, w, detail = e	if type == WE_DRAW:		w.draw(w, detail)	elif type == WE_MENU:		m, item = detail		m.action[item](w, m, item)	elif type == WE_COMMAND:		treatcommand(w, detail)	elif type == WE_CHAR:		w.char(w, detail)	elif type == WE_MOUSE_DOWN:		if detail[1] > 1: w.m2down(w, detail)		else: w.mdown(w, detail)	elif type == WE_MOUSE_MOVE:		w.mmove(w, detail)	elif type == WE_MOUSE_UP:		if detail[1] > 1: w.m2up(w, detail)		else: w.mup(w, detail)	elif type == WE_SIZE:		w.size(w, w.getwinsize())	elif type == WE_ACTIVATE:		w.activate(w)	elif type == WE_DEACTIVATE:		w.deactivate(w)	elif type == WE_MOVE:		w.move(w)	elif type == WE_TIMER:		w.timer(w)	elif type == WE_CLOSE:		w.close(w)def treatcommand(w, type):		# Handle a we_command event	if type == WC_CLOSE:		w.close(w)	elif type == WC_RETURN:		w.enter(w)	elif type == WC_TAB:		w.tab(w)	elif type == WC_BACKSPACE:		w.backspace(w)	elif type in (WC_LEFT, WC_UP, WC_RIGHT, WC_DOWN):		w.arrow(w, type)# Methodsdef close(w):				# Close method	unregister(w)	del w.close	# Delete our close function	w.close()	# Call the close methoddef arrow(w, detail):			# Arrow key method	if detail == WC_LEFT:		w.kleft(w)	elif detail == WC_UP:		w.kup(w)	elif detail == WC_RIGHT:		w.kright(w)	elif detail == WC_DOWN:		w.kdown(w)# Trivial methodsdef tab(w): w.char(w, '\t')def enter(w): w.char(w, '\n')		# 'return' is a Python reserved worddef backspace(w): w.char(w, '\b')def m2down(w, detail): w.mdown(w, detail)def m2up(w, detail): w.mup(w, detail)def nop(*args): pass

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -