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

📄 hvsplit.py

📁 minimal python variant for small footprint apps like embedded apps
💻 PY
字号:
# HVSplit contains generic code for HSplit and VSplit.# HSplit and VSplit are specializations to either dimension.# XXX This does not yet stretch/shrink children if there is too much# XXX or too little space in the split dimension.# XXX (NB There is no interface to ask children for stretch preferences.)from Split import Splitclass HVSplit(Split):	#	def create(self, parent, hv):		# hv is 0 for HSplit, 1 for VSplit		self = Split.create(self, parent)		self.hv = hv		return self	#	def getminsize(self, m, sugg_size):		hv, vh = self.hv, 1 - self.hv		size = [0, 0]		sugg_size = [sugg_size[0], sugg_size[1]]		sugg_size[hv] = 0		sugg_size = sugg_size[0], sugg_size[1] # Make a tuple		for c in self.children:			csize = c.getminsize(m, sugg_size)			if csize[vh] > size[vh]: size[vh] = csize[vh]			size[hv] = size[hv] + csize[hv]		return size[0], size[1]	#	def getbounds(self):		return self.bounds	#	def setbounds(self, bounds):		self.bounds = bounds		hv, vh = self.hv, 1 - self.hv		mf = self.parent.beginmeasuring		begin, end = bounds		sugg_size = end[0] - begin[0], end[1] - begin[1]		size = self.getminsize(mf(), sugg_size)		origin = [begin[0], begin[1]]		sugg_size = [sugg_size[0], sugg_size[1]] # Make a list		sugg_size[hv] = 0		sugg_size = sugg_size[0], sugg_size[1] # Make a tuple		for c in self.children:			size = c.getminsize(mf(), sugg_size)			corner = [0, 0]			corner[vh] = end[vh]			corner[hv] = origin[hv] + size[hv]			c.setbounds(((origin[0], origin[1]), \					(corner[0], corner[1])))			origin[hv] = corner[hv]			# XXX stretch			# XXX too-small	#class HSplit(HVSplit):	def create(self, parent):		return HVSplit.create(self, parent, 0)class VSplit(HVSplit):	def create(self, parent):		return HVSplit.create(self, parent, 1)

⌨️ 快捷键说明

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