简化编程语法

Python 是一门开源免费、通用型的脚本编程语言,它上手简单,功能强大。可以适当的使用python语法来简化编程。 按顺序循环生成控件圆形布局

例1:按顺序循环生成控件

一个页面的多个控件结构相同、数据有规律,可以通过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-loop

例2:圆形布局

将多个控件布局成圆形,可以通过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")

运行结果如下图所示:

circular-layout

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