From d2a6ce2529b13af1c34d06a19d2776097b16a325 Mon Sep 17 00:00:00 2001 From: EillesWan Date: Thu, 10 Mar 2022 21:42:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=85=A8=E6=83=B3=E5=A5=BD=E4=BA=86?= =?UTF-8?q?=E7=AA=97=E5=8F=A3=E6=94=B9=E6=80=8E=E4=B9=88=E5=81=9A=E4=BA=86?= =?UTF-8?q?=EF=BC=8C=E6=AD=A3=E5=9C=A8=E9=80=90=E6=AD=A5=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=EF=BC=8C=E9=A1=BA=E4=BE=BF=E5=8F=96=E4=BB=A3=E5=89=8D=E5=B0=98?= =?UTF-8?q?=E6=97=A7=E7=89=A9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Musicreater.New.py | 6 +- fcwslib/版权声明.png | Bin 0 -> 68955 bytes msctLib/display.py | 140 ++++++++++++++++++++++++++----------- msctLib/开发说明兼指南.md | 26 ++++--- msctplugin/pluginLoader.py | 49 +++++++++++++ msctspt/__init__.pyc | Bin 138 -> 0 bytes resources/MSCT Dev Log.txt | 11 +++ 7 files changed, 177 insertions(+), 55 deletions(-) create mode 100644 fcwslib/版权声明.png create mode 100644 msctplugin/pluginLoader.py delete mode 100644 msctspt/__init__.pyc diff --git a/Musicreater.New.py b/Musicreater.New.py index 68c24d1..9e0450c 100644 --- a/Musicreater.New.py +++ b/Musicreater.New.py @@ -50,11 +50,7 @@ from msctLib.data import uniteIO def __main__(): - disp( - root, - False, - - ) + disp() diff --git a/fcwslib/版权声明.png b/fcwslib/版权声明.png new file mode 100644 index 0000000000000000000000000000000000000000..05ebcf592e10e8b83b3fcf63f2dc33f72acd9663 GIT binary patch literal 68955 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 None: - '''传入root参数为窗口根,kwgs详见开发说明|指南''' + +backgroundColor = WHITE +frontgroundColor = BLACK +loadingColor = DEFAULTBLUE +errorColor = RED +okColor = GREEN +tipsColor = PURPLE + + + +class disp: + '''音·创 的基本Tk窗口显示库''' + + def __init__(self, root: tk.Tk = tk.Tk(), debug: bool = False, title: str = '音·创', + geometry: str = '0x0', iconbitmap: tuple = ('', ''), menuWidget: dict = {}, + wordView: str = '音·创 Musicreater', buttons: list = [], settingBox: list = [], + notemap: list = []) -> None: + '''使用参数建立基本的 音·创 窗口 + :param root 根窗口 + :param debug 是否将日志输出到控制台 + :param title 窗口标题 + wordview: str #言论部分显示的字样 + button: list = [ # 操作按钮部分 + dict = { + 按钮名称 : tuple(按钮图标,执行函数) + }, + ], + settingbox: list = [ # 设置部分显示的字样及其对应的设置函数 + ( + 设置名称:str, + 值类型:tuple, + 显示内容:str, + 设置操作函数:, + ) + ], + map: list = [ # 一首曲目的音符数据 + 音符数据 + ] + ''' self.root = root - self.FUNCLIST = { - 'title' : self.setTitle, - 'geometry': self.setGeometry, - 'iconbitmap': self.setIcon, - 'menu': self.setMenu, - 'widget': self.setWidget, - } - '''注:此处为引导传参,若传参错误且debug模式关闭则不会有任何反馈''' + self.setTitle(title,debug) + self.setGeometry(geometry,debug) + self.setIcon(*iconbitmap,debug=debug) + self.setMenu(menuWidget) - for func,args in kwgs: - if func in self.FUNCLIST.keys(): - if type(args) == type([]): - self.FUNCLIST[func](*args) - if type(args) == type({}): - self.FUNCLIST[func](**args) - else: - self.FUNCLIST[func](args) - elif debug: - raise KeyError(f'无法定位函数{func}') + self.initWidget(wordView,buttons,settingBox,notemap) def setTitle(self,title:str = '',debug : bool = False) -> None: '''设置窗口标题''' self.root.title = title if debug: + log(f"设置窗口标题{title}") - def setGeometry(self,geometry) -> None: + def setGeometry(self,geometry:str = '0x0',debug:bool = False) -> None: '''设置窗口大小''' self.root.geometry(geometry) + if debug: + log(f"设置窗口大小{geometry}") - def setIcon(self,*icon) -> None: - '''设置窗口图标''' - self.root.iconbitmap(*icon) + def setIcon(self,bitmap:str = './musicreater.ico',default:str = '',debug:bool = False) -> None: + '''设置窗口图标 + 注意,default参数仅在Windows下有效,其意为将所有没有图标的窗口设置默认图标 + 如果在非Windows环境使用default参数,一个Error将被升起''' + if not debug: + try: + if default: + self.root.iconbitmap(bitmap,default) + log(f'设置图标为{bitmap},默认为{default}') + else: + self.root.iconbitmap(bitmap) + log(f'设置图标为{bitmap}') + return True + except Exception as e: + log(str(e),'ERROR') + return False + else: + self.root.iconbitmap(bitmap,default) + return - def setMenu(self,**kwgs) -> None: + def setMenu(self,menuWidgets: dict = {}) -> None: '''设置根菜单''' - if not kwgs: + if not menuWidgets: + # 如果传入空参数则返回当前菜单 return self.RootMenu + # 如果不是空参数则新建菜单 self.RootMenu = {} self.mainMenuBar = tk.Menu(self.root) - for menuName,menuCmd in kwgs.items(): + for menuName,menuCmd in menuWidgets.items(): + # 取得一个菜单名和一堆菜单函数及其显示名称 menu = tk.Menu(self.mainMenuBar,tearoff=0) for cmdName,cmdFunc in menuCmd.items(): if cmdName: @@ -83,14 +125,24 @@ class disp: self.RootMenu[menuName] = menu self.root.config(menu=self.mainMenuBar) - def addMenu(self,menuRoot:str = '',menuLabel:str = '',menuCommand:str = None): - '''增加一个菜单项''' + def addMenu(self,menuRoot:str = '',menuLabel:str = '',menuCommand:function = None): + '''增加一个菜单项 + :param menuRoot : str + 菜单的根菜单,即所属的菜单上的文字 + :param menuLabel : str + 所需要增加的项目显示的文字 + :param menuCommand : + ''' if menuRoot in self.RootMenu.keys: + # 如果已经有父菜单 if menuLabel: + # 增加菜单指令 self.RootMenu[menuRoot].add_command(label = menuLabel, command = menuCommand) else: + # 增加分隔栏 self.RootMenu[menuRoot].add_separator() else: + # 没有父菜单则新增一个父菜单 menu = tk.Menu(self.mainMenuBar,tearoff=False) if menuLabel: menu.add_command(label = menuLabel, command = menuCommand) @@ -100,14 +152,22 @@ class disp: self.RootMenu[menuRoot] = menu - - def setWidget(self,**kwgs) -> None: - self._wordviewBar = tk.Label(self.root) - pass + def initWidget(self, wordView: str = '音·创 Musicreater', buttons: list = [], + settingBox: list = [], notemap: list = []) -> None: + '''设置窗口小部件,分为: + :言·论 WordView + :快捷按钮面板 ButtonBar + :设置框 SettingBar + :音轨框 TrackBar + :各个音轨的显示框 TrackFrame + :信息显示版 InfoBar + ''' + self._wordviewBar = tk.Label(self.root,bg=frontgroundColor,fg=backgroundColor,text = wordView) - def setWordView(self, **kwgs) -> None: - for key,value in kwgs.items(): - self._wordviewBar[key] = value + self.setWordView(wordView) + + def setWordView(self, text:str) -> None: + self._wordviewBar['text'] = text diff --git a/msctLib/开发说明兼指南.md b/msctLib/开发说明兼指南.md index 1864c76..a469ae3 100644 --- a/msctLib/开发说明兼指南.md +++ b/msctLib/开发说明兼指南.md @@ -34,8 +34,8 @@ functions.py中会调取./addon/目录下的全部功能文件,这些功能文 'iconbitmap': ('./resources/musicreater.ico', './resources/musicreater.ico'), 'menu' : { #对setMenu有特殊说明 '文件': { - '新建': lambda : x, - '打开': lambda : x, + '新建': , + '打开': , }, }, 'widget': { #对窗口部件又详细说明 @@ -74,15 +74,21 @@ functions.py中会调取./addon/目录下的全部功能文件,这些功能文 'text': str = 显示内容, # ... 即可用 tk.Label 的参数 }, + button: list = [ + dict = { + 按钮名称 : tuple(按钮图标,执行函数) + }, + ], settingbox: list = [ #设置部分显示的字样及其对应的设置函数 - (设置名称:str,值类型,显示内容:str,设置操作函数:function,) - ] - tracklist: int = 音轨数量 #音轨选择框 - operation: dict = { - 按钮名称 : 执行函数 - } + ( + 设置名称:str, + 值类型:tuple, + 显示内容:str, + 设置操作函数:, + ) + ], map: list = [ - 音符: class Note + 音符数据 ] ``` 注: @@ -98,9 +104,9 @@ functions.py中会调取./addon/目录下的全部功能文件,这些功能文 | 参数 | 对应类中的变量 | 变量类型 | 说明 | |------------|------------------|---------------------------|---------------------| | wordview | wordview | str | 显示在 言·论 区域的文字 | + | button | button | list[dict{}] | 操作按钮 | | settingbox | settings | list[ Any ] | 设置项目中的值 | | tracklist | tracknum | tuple(int,int) | 当前选择到的音轨与音轨总数| - | operation | buttons | list[ tkinter.Button ] | 按钮列表 | | map | notes | list[ class Note ] | 当前的音符列表 | diff --git a/msctplugin/pluginLoader.py b/msctplugin/pluginLoader.py new file mode 100644 index 0000000..e0163d5 --- /dev/null +++ b/msctplugin/pluginLoader.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- +'''此文件为音·创的插件加载程序,为了满足各平台需求,使用的是CLI界面''' + +# W-YI 金羿 +# QQ 2647547478 +# 音·创 开发交流群 861684859 +# Email EillesWan2006@163.com W-YI_DoctorYI@outlook.com EillesWan@outlook.com +# 版权所有 Team-Ryoun 金羿 +# 若需转载或借鉴 请附作者 + + +""" + Copyright 2022 Eilles Wan (金羿) + + Licensed under the Apache License, Version 2.0 (the 'License'); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an 'AS IS' BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +""" + +# 代码写的并非十分的漂亮,还请大佬多多包涵;本软件源代码依照Apache软件协议公开 + + +# 下面为正文 + + +print(""" +音·创 插件管理 +Musicreater PLUGINS Management +""") + + + + + + + + + + + + diff --git a/msctspt/__init__.pyc b/msctspt/__init__.pyc deleted file mode 100644 index d6538b0d9be4bcd219cf8e6d658442a396d46bab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmZSn%*z$e!;R%-AK=vfTH~L zqQu