Python 是一门开源免费、通用型的脚本编程语言,它上手简单,功能强大。可以适当的使用python语法来简化编程。 按顺序循环生成控件、圆形布局
一个页面的多个控件结构相同、数据有规律,可以通过python的循环控制语句来简化编程。
with page(456, 800, id="page1", text=(白色, f20x10, 左对齐), bg_color=(24, 24, 24)):
label("按顺序循环生成控件", (1, 1, 40, 800), f24x16, 居中, 青色)
row = 40
for bit in range(8):
text("K0.{0}开关".format(bit), (row, 1, 40, 200))
switch("K0." + str(bit), (row, 100, 40, 200))
text("K0.{0}信号".format(bit), (row, 400, 40, 200))
led("K0." + str(bit), (row, 500, 40, 40))
row += 50
menu("循环", "page1")
运行结果如下图所示:

将多个控件布局成圆形,可以通过python来计算控件位置。
from math import *
from knd_ui import *
#circle是一个在圆周上生成data控件的函数,参数x,y为圆心点横纵坐标;r为圆周半径; number为data控件的数量;a1,b1为data控件的高和宽;data_list为data控件的数据列表
with page(456, 800, id="page1", text=(白色, f20x10, 左对齐), bg_color=(24, 24, 24)):
label("圆形布局", (1, 1, 40, 800), f24x16, 居中, 青色)
def circle(x, y, r, number, a1, b1, data_list):
for i in range(number):
xs = int(x + r * cos(i * 360 / number / 57.29578) - a1 / 2)
ys = int(y + r * sin(i * 360 / number / 57.29578) - b1 / 2)
data(data_list[i], (xs, ys, a1, b1))
a = ["#501", "#502", "#503", "#504", "#505", "#506", "#507", "#508", "#509", "#510"]
circle(250, 200, 120, 10, 40, 60, a)
menu("圆形", "page1")
运行结果如下图所示:

Python是一种入门容易,但功能强大的编程语言,这里的例子很相对简单,仅作抛砖引玉之用。