diff --git a/pyminer2/extensions/packages/pmagg/PMAgg.py b/pyminer2/extensions/packages/pmagg/PMAgg.py index 922da6d71822a2b41759e5775e7737e07eef1d2f..38f22605141b0083a48c8f350c4ac006ca07116a 100644 --- a/pyminer2/extensions/packages/pmagg/PMAgg.py +++ b/pyminer2/extensions/packages/pmagg/PMAgg.py @@ -108,10 +108,9 @@ QTabBar::tab:selected { """ -def draw_if_interactive(config_path=None): +def draw_if_interactive(*args,**kwargs): # 设置绘图风格,None和default都用default - if config_path is None: - config_path = os.path.join(os.path.dirname(__file__), 'settings.cfg') + config_path = os.path.join(os.path.expanduser('~'), '.pyminer/packages/pmagg/settings.cfg') config = QtCore.QSettings(config_path, QtCore.QSettings.IniFormat) style = config.value('draw/style') plt.style.use('default') # 防止样式叠加 @@ -142,17 +141,7 @@ class Window(QtWidgets.QMainWindow, pmagg_ui.Ui_MainWindow): self.canvas.draw() 每执行该函数,图形重绘 """ - def __init__(self, tab_page='new', right_menu=True, hide_menubar=False, hide_toolbar=False, config_path=None, - icon_path=None): - """ - 当config_path文件中并没有相应的设置项时,tab_page,right_menu等参数项会起作用 - Args: - tab_page: 可选参数 new,cover。new每次绘图会新建tab页,cover则会在原有的页面绘图,同时隐藏tab pane - right_menu: 是否开启右键功能,默认开启,关闭则会关闭所有监听事件 - hide_menubar: 隐藏菜单栏 - hide_toolbar: 隐藏工具栏 - config_path: 配置文件路径,没有会创建 - """ + def __init__(self, *args,**kwargs): if not QtWidgets.QApplication.instance(): self.app = QtWidgets.QApplication(sys.argv) # 需要有这样一句话存在,否则无法super else: @@ -161,14 +150,8 @@ class Window(QtWidgets.QMainWindow, pmagg_ui.Ui_MainWindow): self.setupUi(self) # 先执行父类方法,以产生成员变量 self.retranslateUi(self) self.current_path = os.path.dirname(__file__) # 当前文件路径 - if config_path: # 配置文件路径 - self.config_path = config_path - else: - self.config_path = os.path.join(os.path.dirname(__file__), 'settings.cfg') - if icon_path: # 图标文件路径 - self.icon_path = icon_path - else: - self.icon_path = os.path.join(self.current_path, 'icons/Icon.ico') + self.config_path = os.path.join(os.path.expanduser('~'), '.pyminer/packages/pmagg/settings.cfg') + self.icon_path = os.path.join(self.current_path, 'icons/Icon.ico') self.config = QtCore.QSettings(self.config_path, QtCore.QSettings.IniFormat) draw_if_interactive(config_path=self.config_path) # 设置gui字体 diff --git a/pyminer2/extensions/packages/pmagg/test2.py b/pyminer2/extensions/packages/pmagg/test2.py index 86b548f2df9278db6a90741373196de882b806ec..ca0a12ac4421b0585b1e0ae51800ec5592d3a4f1 100644 --- a/pyminer2/extensions/packages/pmagg/test2.py +++ b/pyminer2/extensions/packages/pmagg/test2.py @@ -6,8 +6,10 @@ if __name__ == '__main__': current_path=os.getcwd() sys.path.append(current_path) import matplotlib + import matplotlib.pyplot as plt matplotlib.use('module://PMAgg') - app=Window(bg='graph') - app.plot([1,2,3],[4,5,6]) + app=Window() + plt.plot([1,2,3],[4,5,6]) + app.get_canvas(plt.gcf()) app.show() \ No newline at end of file