全局及默认设置

设置默认颜色、字体大小和对齐方式

这一部分函数为自定义界面中若干个页面的控件设定一些默认值,包括控件颜色、字体大小和对齐方式,如果控件和页面中没有设定参数的值将采用默认值。下面函数的作用范围从函数调用处开始到再一次调用或文件结尾为止。可用来为n个相邻的页面定义同一默认值。

合理的默认值可以简化代码的书写

  • 设置n个相邻的页面所有控件默认颜色字体大小对齐方式
    default_attr(白色, f24x16, 左对齐)  #设置n个相邻的页面所有控件默认颜色为白色,字体大小为f24x16,对齐方式为左对齐
    
  • 设置n个相邻的页面文本默认颜色字体大小对齐方式
    default_text_attr(红色, f24x12, 居中)  #表示n个相邻的页面所有静态文本默认颜色为红色,字体大小为f24x12,对齐方式为居中
    
  • 设置n个相邻的页面数据值默认颜色字体大小
    default_data_attr(黄色, f20x10)   #表示n个相邻的页面所有数据的默认颜色为黄色,字体为f20x10
    

页面尺寸和标题栏

应将此函数写在所有页面定义之前
–10.4寸屏分辨率为800x600
–15寸屏分辨率为1024x768 (v3.4新增)

set_size(width, height, title=False)
  • width:CNC显示屏宽度方向的像素数,默认为800。
  • height:CNC显示屏高度方向的像素数,默认为600。
  • title:是否显示CNC标题栏,取值可以为TrueFalse(默认为False)
    • False时自定义界面显示标题栏;
    • True时不显示标题栏,界面最大化。
set_size(800, 600, title=False)  #显示屏尺寸为800×600,显示标题栏
set_size(title=True) #显示屏尺寸为默认值800×600,不显示标题栏
set_size(1024, 768, title=True)  # 15寸屏使用,不显示标题栏

不同尺寸屏幕标题栏和菜单栏高度以及有、无标题栏对应自定义页面布局尺寸推荐如下:

分 辨 率 题 栏 高 度 中 间 高 度 菜单栏和状态栏高度 有标题栏布局尺寸 无标题栏布局尺寸
640×480 44 372 64 632×372 632×416
800×480 46 376 68 792×376 792×412
800×600 56 454 90 792×454 792×510
1024×768 64 606 98 1024×606 1024×670

以800x600分辨率为例:下图左侧为显示标题栏的界面,右侧为不显示标题栏的界面。

有标题栏 无标题栏
with-title without-title

使用此界面的CNC软件版本

KUI和CNC软件在同步开发和更新,所以每一个版本的KUI都要配合相应版本的系统软件才能实现所有的功能。

KUI开发人员总是使用最新的KUI开发包,为了避免生成旧版CNC无法加载的自定义界面,应使用sys_version函数指定目标CNC系统版本。

开发自定义界面前,先找到使用自定义界面的数控系统的版本(系列号_BUILD号)作为sys_version函数的参数,此函数能自动识别此版本的系统软件不支持的功能,在运行Python文件时报错。如果开发者需要使用报错的功能,则必须将系统软件升级到支持的版本或者最新版本。

sys_version("V5.1.00c_18728") #可以识别V5.1.00c_18728版本的系统软件不支持的功能进行报错

应将此函数写在所有页面定义之前,有关KUI和CNC的兼容性问题,参见 兼容性

根菜单的名称和动作

每一个自定义界面都由一个根菜单进入,需要定义一个根菜单。根菜单是menu的一个特例。其菜单动作仅支持页面跳转页面选择两种,不支持enable参数,且支持只写菜单名称一个参数,此时根菜单会自动捕捉第一个页面的id,按下根菜单 页面跳转到该页面。详细语法见 menu

  • 定义在with page():作用域之外的menu是根菜单

建议将根菜单定义在所有页面定义之前

自定义界面在系统中的显示位置

使用函数kui_id(id)指定此自定义界面在数控系统中的显示位置,id可取值(中英文都支持):

  • 位置(PageType.pos)
  • 程序(PageType.prog)
  • 刀补1(PageType.ofs1)
  • 刀补2(PageType.ofs2)
  • 设置1(PageType.set1)
  • 机床调试1( PageType.debug1)
  • 机床调试2( PageType.debug2)
  • 诊断( PageType.dgn)
kui_id(位置)      #此自定义界面显示在数控系统的位置页面下

自定义界面加载时机(v2.6新增)

默认情况下,自定义界面都是在开机时加载,可以通过调用函数 set_load_until_enter()设置界面在第一次按下"根菜单"时才加载。

set_load_until_enter()   #此函数可以在任何可执行处调用,为了清晰和便于维护建议在所有页面定义之前调用

支持将图片和脚本缓存存储 (v2.6新增)

在所有页面定义之前调用函数 use_cache(__file__) 会在_output文件夹下生成kui.db缓存文件,将图片文件和脚本存入缓存文件中,当执行较慢时可以手动删除kui.db文件,使其重新生成。调用此函数可以加快上位机的生成速度。

use_cache(__file__)  # 此函数需要在所有页面定义之前调用

支持密码修改控件功能 (v3.8新增)

  • 支持密码功能
    • 在文件开头写入密码表达式,在控件中设置password=True,该控件修改时弹出对话框需要输入密码,密码表达式的结果 转换为整数进行比较
    • 举例
    set_password("D5+2242354")       #设置密码表达式为D5+2242354
    textbox("F19030.0", (4, 4), password=True)  # 设置控件需要输入密码