首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用pyqtgraph和pypubsub绘制获得值的deque?

如何使用pyqtgraph和pypubsub绘制获得值的deque?
EN

Stack Overflow用户
提问于 2017-07-16 21:37:39
回答 1查看 426关注 0票数 0

我正在尝试编写一个程序,在这个程序中,一个实例将值发送到另一个实例,然后它会连续绘制这些值。我使用pypubsub对其进行编程,以便将值从一个实例发送到另一个实例。另一个实例获取值并将其存储到deque中,每当更新时,它都会绘制deque。

我认为实例之间的通信很好,我可以看到deque按照我的计划每秒都在更新,然而,问题是图表不会在更新时显示deque的值,而是在整个更新完成后显示这些值。我想知道如何在更新时绘制deque。

代码语言:javascript
复制
from pyqtgraph.Qt import QtGui, QtCore
import pyqtgraph as pg

from collections import deque
from pubsub import pub
import time 


class Plotter:
    def __init__(self):

        self.deq = deque()

        self.pw = pg.GraphicsView()
        self.pw.show()
        self.mainLayout = pg.GraphicsLayout()
        self.pw.setCentralItem(self.mainLayout)
        self.p1 = pg.PlotItem()       
        self.p1.setClipToView=True
        self.curve_1 = self.p1.plot(pen=None, symbol='o', symbolPen=None, symbolSize=10, symbolBrush=(102, 000, 000, 255))
        self.mainLayout.addItem(self.p1, row = 0, col=0, rowspan=2)                         

    def plot(self, msg):
        print('Plotter received: ', msg)
        self.deq.append(msg)
        print(self.deq)
        self.curve_1.setData(self.deq)


class Sender:
    def __init__(self):
        self.list01 = [1,2,3,4,5]            # A list of values that will be sent through pub.sendMessage

    def send(self):
        for i in range(len(self.list01)):
            pub.sendMessage('update', msg = self.list01[i] )        
            time.sleep(1)


plotterObj = Plotter()    
senderObj = Sender()

pub.subscribe(plotterObj.plot, 'update')

senderObj.send()
EN

回答 1

Stack Overflow用户

发布于 2017-07-19 10:25:33

看看sendmessage和subscribe,一切看起来都很好。但是我注意到你没有一个QApplication实例和一个事件循环。创建应用程序,并在最后调用exec(),使其进入事件循环。渲染将在那时进行。

代码语言:javascript
复制
app = QtGui.QApplication([])

plotterObj = Plotter()
senderObj = Sender()

pub.subscribe(plotterObj.plot, 'update')

senderObj.send()

app.exec()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45129222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档