当我们在界面上方控件时,总是要考虑控件的位置摆放和控件直接的间隔,算来算去很烦, 应用Python闭包, 轻松解决改问题
代码如下:
def GetPost( StartPost = 0, Gap = 10):
''' 获取下一个位置
StartPost: 起始位置
Gap: 间距
'''
Post = [StartPost+Gap,StartPost+Gap];
if StartPost == 0:
Post = [0,0];
def GetCurPost(CurCtrlUsed=0):
CurPost = Post[0];
if CurCtrlUsed!=0:
Post[0] += CurCtrlUsed + Gap;
Post[1] = Post[0];
else:
CurPost = Post[1];
return CurPost;
return GetCurPost;
if __name__ == "__main__":
# 控件的起始Top位置
# 返回当前行控件的Top位置
# 传入当前行控件的高度,返回当前行控件的Top位置
# 返回下一行控件的Top位置
# 返回下一行控件的Top位置
print TopPost (30); # 传入当前行控件的高度,返回当前行控件的Top位置
print TopPost (); # 返回下一行控件的Top位置