PyQt4我可以在关闭窗口之前预览图吗?

时间:2016-03-16 14:52:27

标签: python python-2.7 matplotlib pyqt4

我的程序要求输入各种输入并为用户保存相应的图表。我希望能够有一个“预览”选项,如果他们按下“预览”,它会实现选项,他们可以在他们点击生成他们请求的.jpg的“完成”按钮之前看到该情节。理想情况下,我希望他们能够点击“预览”,对输入进行调整,然后再次点击“预览”以查看他们是否希望它看起来如何。

我添加了一个“预览”按钮,它似乎不起作用 - 然后我关闭了主窗口,它确实显示了情节。

以下是我的“预览”和“完成”按钮的代码:

def preview(self):
    self.final = False
    self.id = str(self.identifier_ask.text())
    self.limits = [float(self.vel_low_ask.text()), float(self.vel_high_ask.text())]
    if self.flip_bool_ask.isChecked():
        self.flip = True
    else:
        self.flip = False


def finish_input_click(self):
    self.final = True
    self.id = str(self.identifier_ask.text())
    self.limits = [float(self.vel_low_ask.text()), float(self.vel_high_ask.text())]
    if self.flip_bool_ask.isChecked():
        self.flip = True
    else:
        self.flip = False

    self.close()

这是我的绘图功能中的代码:

if cw.final:
    figure_path = pathname + 'velocity ' + cw.id + '.jpg'
    fig.savefig(figure_path, dpi = 200)
    plt.close()
else:
    plt.show()

有没有办法完成我想要的东西而不会在编译的窗口类中复制我的绘图函数?

1 个答案:

答案 0 :(得分:1)

在你的“预览”代码中,你没有将情节调用到视图中(似乎),只是给你的班级一个标志。所以我猜测当你关闭窗口时,你会调用绘图函数,标志表示它应该给出一个图。

由于您使用的是matplotlib,我建议您制作一个第二个实例,这样一旦用户关闭它,您就不会丢失之前设置的信息。因此,在预览功能中,您还应该制作一个图表(就像您在软件中所做的那样)。