如何在Python中每隔100ms更新和存储示波器的输出?

时间:2017-02-07 10:17:25

标签: python timer auto-update display

我有以下代码来显示示波器的当前输出。 要更新图表,我必须不断按下“CH1”按钮。 什么是自动更新图表的最佳方式?

我应该使用计时器,但我认为它可能会冻结PC。

2 个答案:

答案 0 :(得分:1)

我不是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。

更好的方法是初始化一个为您执行此操作的线程,直到程序在后台停止。有关您可以在stackoverflow中找到的线程的更多信息: - )

希望这可以帮到一点!祝你有愉快的一天!

答案 1 :(得分:1)

如果有人有兴趣,我有vispy和pyqt的解决方案:) 我对SO很新,我不想污染这个wx和matplotlib帖子,里面有很多不直接相关的代码,但是如果有人需要它,我会编辑我的答案并在这里发布! 告诉我:)