pyminer图形界面开发日志

tech2025-04-12  3

文章目录

PyMiner自带的可停靠子窗口名称:Pyminer工具栏中按钮的获取主页工具栏 接下来的任务是否可以定义一个打开文本文件的通用接口定义一套标准的控件集定义一套主界面上所有控件的标准方法。 已经完成的任务窗口垃圾回收控件如何提升为可见?工作空间要求:显示表格 任务简化为四个位置翻译制作应用管理菜单制作绘图菜单QSS美化,为控件设置ObjectName如何用json生成菜单?插件的json设置到底要包括哪些东西?翻译!标准控件集用伪类或者属性选择器进行动态qss的编写! 1、 def bind_show_data(self, on_show_data): self.var_tree.show_data = on_show_data 像这样的方法是不太好的,希望直接绑定信号和槽,这样可以减少耦合。 比如下面这样: self.var_tree.show_data_signal.connect(self.on_show_data) 这样可以实现一对多的信号发送。

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、关于窗口关闭时的垃圾回收机制。

接下来要对各个控件定义一些事件的名称。 所有按钮的名称如下:

PyMiner自带的可停靠子窗口名称:

中文名称程序内部名称编辑器code_editoripython控制台ipython_console工作空间显示器workspace_inspector变量视图data_view_table文件树file_explorer

这些控件都有便捷的借口函数方式对其进行访问。将它们的名称列在这里的原因是, 插件和以上系统自带的控件,名称不能相同。

Pyminer工具栏中按钮的获取

主页工具栏

内部名称中文名称‘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

任务

简化为四个位置

翻译

制作应用管理菜单

制作绘图菜单

QSS美化,为控件设置ObjectName

如何用json生成菜单?

插件的json设置到底要包括哪些东西?

翻译!

(需要和插件接口说明一下)

标准控件集

用伪类或者属性选择器进行动态qss的编写!

最新回复(0)