2、控件叠放位置需要当心一下。可以叠放之后直接显示到最上层。
3、控件的属性:
对于停靠窗口:
(1)、close_action:str,可以是‘delete’或者‘hide‘。若无此属性,则默认为’hide‘。这个可以写在json里面。
(2)、dock_with:str
(1)、setup_ui,为设置界面启动时的方法。
(2)、bind_events,为界面绑定事件的方法。
对于菜单或者按钮:
(1)、setup_ui,界面启动初始化方法
(2)、bind_events,为界面绑定事件的方法。
4、希望有这样的规定:bind_events方法最好绑定其他控件或者插件在事件中发出的信号,而不是直接调用其他控件的方法。这样可以减少控件之间的耦合。建议采用信号和槽机制,不要采用像1那样的显式的绑定方式。
5、关于窗口关闭时的垃圾回收机制。
接下来要对各个控件定义一些事件的名称。
所有按钮的名称如下:
中文名称 | 程序内部名称 |
---|---|
编辑器 | code_editor |
ipython控制台 | ipython_console |
工作空间显示器 | workspace_inspector |
变量视图 | data_view_table |
文件树 | file_explorer |
这些控件都有便捷的借口函数方式对其进行访问。将它们的名称列在这里的原因是,
插件和以上系统自带的控件,名称不能相同。
内部名称 | 中文名称 |
---|---|
‘button_new_script’ | ‘新建\n脚本’ |
‘button_new’ | ‘新建’ |
‘button_open’ | ‘打开’ |
‘button_import_data’ | ‘导入\n数据’, |
‘button_save_workspace’ | ‘保存\n工作区’, |
‘button_new_variable’ | ‘新建变量’ |
‘button_open_variable’ | ‘打开变量’ |
‘button_clear_workspace’ | ‘清除工作区’ |
‘button_search_for_files’ | ‘查找文件’ |
‘button_compare_files’ | ‘文件比较’ |
‘button_settings’ | ‘设置’ |
‘button_help’ | ‘帮助’ |
‘view_config’ | ‘视图’ |
也就是一个跨平台的类。这个类可以做到在不同的平台上打开文本文件、调用控制台和文件管理器等。参考novalide。
标准控件集包含很多内容,参考sciwx,但是这种标准的控件集需要很大的功夫去维护。
定义一种用json或者仿照json的菜单生成方法。
发展一种菜单控件的获取方法。
对话框由插件自己生成;
可停靠窗口由json决定,关闭时可以定义其是否被回收。
1、目前,工作空间变量显示的垃圾回收存在问题。当全部的标签页都关闭后,会出现bug。而且窗口没有办法在添加标签页的时候最上层显示。(问题解决,增加了将窗体提升到最顶层的函数,以及增加了窗口删除的办法。)
2、定义控件的获取焦点方法,使得它的控件可以将其显示到上方。(需要给这个方法起一个名字!)
可否做一个多继承的方法?
表格按照数据大小判断,小数据量就用TableWidget,大数据量用TableWidget
(需要和插件接口说明一下)