PyQt4 我可以在关闭前预览绘图吗 window?
PyQt4 Can I preview a plot before closing window?
我的程序要求各种输入并为用户保存相应的绘图。我希望能够有一个 "Preview" 选项,如果他们按下 "Preview",它会实现这些选项,并且他们可以在点击生成 . jpg 他们要求。理想情况下,我希望他们能够点击 "Preview",对输入进行调整,然后再次点击 "Preview" 以查看这是否是他们想要的样子。
我添加了一个 "Preview" 按钮,它似乎没有用 - 然后我关闭了 Main Window 它确实显示了情节。
这是我的 "Preview" 和 "Done" 按钮的代码:
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()
有没有一种方法可以完成我想要的,而无需在已编译的 window class 中基本上复制我的绘图函数?
在您的 "preview" 代码中,您并没有调用情节(看起来),只是给您的 class 一个标志。所以我猜想当你关闭你的 window 时你调用了 plot 函数并且标志说它应该给出一个 plot.
由于您使用的是 matplotlib,我建议您制作第二个绘图实例,这样一旦用户关闭它,您就不会丢失之前设置的信息。所以在预览功能中你也应该制作一个绘图(就像你在你的软件中所做的那样的副本)。
我的程序要求各种输入并为用户保存相应的绘图。我希望能够有一个 "Preview" 选项,如果他们按下 "Preview",它会实现这些选项,并且他们可以在点击生成 . jpg 他们要求。理想情况下,我希望他们能够点击 "Preview",对输入进行调整,然后再次点击 "Preview" 以查看这是否是他们想要的样子。
我添加了一个 "Preview" 按钮,它似乎没有用 - 然后我关闭了 Main Window 它确实显示了情节。
这是我的 "Preview" 和 "Done" 按钮的代码:
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()
有没有一种方法可以完成我想要的,而无需在已编译的 window class 中基本上复制我的绘图函数?
在您的 "preview" 代码中,您并没有调用情节(看起来),只是给您的 class 一个标志。所以我猜想当你关闭你的 window 时你调用了 plot 函数并且标志说它应该给出一个 plot.
由于您使用的是 matplotlib,我建议您制作第二个绘图实例,这样一旦用户关闭它,您就不会丢失之前设置的信息。所以在预览功能中你也应该制作一个绘图(就像你在你的软件中所做的那样的副本)。