我有以下代码来显示示波器的当前输出。要更新图表,我必须不断按下按钮"CH1"。自动更新图表的最佳方法是什么?
我应该使用计时器,但我认为它可能会冻结 PC。
我不是 GUI 界面的大专家,但从按钮调用操作:
self.ch1button = wx.Button(self.panel, -1, "CH1")
self.Bind(wx.EVT_BUTTON, self.on_ch1_button, self.ch1button)
def on_ch1_button(self, event):
self.data = inst.get_data("CHANnnel1")
self.time = inst.get_xdata()
self.draw_figure()
简单的方法是定期调用该函数 ->每一秒你都调用on_ch1_button。
更好的方法是初始化一个线程,该线程正在为您执行此操作,直到程序在后台停止。有关线程的更多信息,您可以在堆栈溢出中找到:-(
希望这能有所帮助!有好的一天!
如果有人感兴趣,我有 vispy 和 pyqt 的解决方案:)我对 SO 很陌生,我不想用很多没有直接关系的代码污染这个 wx 和 matplotlib 帖子,但如果有人需要它,我会编辑我的答案并将其发布在这里!告诉我:)