开发说明\|指南 ============== 此文件旨在使后期欲参与开发之人员减轻其开发负担,同时也为了我们正在开发的人员详细说明功能与用法 掌握开发指南之后,在调用函数等的过程中将会更加方便 文件结构 -------- 从主文件调用display.py以实现显示,调用functions.py以使用功能 functions.py中会调取./addon/目录下的全部功能文件,这些功能文件必须先由./addon/addons.pkl来预先定义好 详细说明 -------- ### msctLib 用于支持主要功能 #### display.py 1. class disp - 参数 1. `**kwgs`对窗口的基础设定 `{ '组件名称' : 函数自设定 }` 例如: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ python { 'version': '0.0.1', # version指的是当前配置格式的版本 'title': "音·创", 'geometry': '1200x900', 'iconbitmap': ('./resources/musicreater.ico', './resources/musicreater.ico'), 'menu' : { #对setMenu有特殊说明 '文件': { '新建': lambda : x, '打开': lambda : x, }, }, 'widget': { #对窗口部件又详细说明 'wordview':{ 'text':'言·论', }, 'settingbox':{}, #后文详细说明 'tracklist':{}, 'operation':{}, 'map':{}, }, } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 函数 1. `setMenu`对菜单的基础设定 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ python { 菜单名 : { 选项名 : 选项函数 } } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 注: `菜单名` : `str` 显示在菜单上的字符串 `选项名` : `str` 显示在菜单选项上的字符串 `选项函数` : `function` 菜单调取的函数(无返回值,无入参) 当 `选项名` 的布尔值判定为 `False` 的时候,无论 `选项函数` 为何,皆插入一段分割线 2. `setWidget`对窗口部件的放置 ```python wordview: dict = { #言论部分显示的字样 'text': str = 显示内容, # ... 即可用 tk.Label 的参数 }, settingbox: list = [ #设置部分显示的字样及其对应的设置函数 (设置名称:str,值类型,显示内容:str,设置操作函数:function,) ] tracklist: int = 音轨数量 #音轨选择框 operation: dict = { 按钮名称 : 执行函数 } map: list = [ 音符: class Note ] ``` 注: 上文中,值类型可以是如下几个项 1. `('str',)` 字符串类型,使用文本框输入数据 2. `('bool',)` 布尔类型,使用复选框输入数据 3. `('num',最小值:int,最大值:int,步长:int = 1)` 数值类型,使用数值滑动条输入数据 4. `('list',列表项:list)` 单选类型,即列表中多选一,使用单选框输入数据 值得注意的是,在kwgs中修改的部件设置,可以在其变量中读取或热修改,对应的变量如下 | 参数 | 对应类中的变量 | 变量类型 | 说明 | |------------|------------------|---------------------------|---------------------| | wordview | wordview | str | 显示在 言·论 区域的文字 | | settingbox | settings | list[ Any ] | 设置项目中的值 | | tracklist | tracknum | tuple(int,int) | 当前选择到的音轨与音轨总数| | operation | buttons | list[ tkinter.Button ] | 按钮列表 | | map | notes | list[ class Note ] | 当前的音符列表 | # 这里是全局设置 'name' : str, #项目名,即包名 'title': str, #音乐名称 'repeation': bool, #是否开启重复播放 'player_selection': str, #玩家选择器,用于选择播放的的玩家 # 下面是音轨独立设置 'track_name': str, #此音轨的名字 'track_sbname': str, #此音轨所使用的计分板 - 变量 使用类中的变量可以对类中的内容进行实时修改