pyqt 子窗口控制主窗口绘图_PyQtGraph如何关闭绘图窗口/关闭所有绘图窗口?

本文展示了如何在PyQtGraph中通过子窗口控制主窗口的绘图,并详细解释了如何关闭绘图窗口。代码示例中创建了一个`guiThread`类,包含exit方法用于关闭窗口。当调用`stop`方法时,会设置状态为False并退出应用。同时,`updateplot`方法用于更新绘图数据,而`append`方法则将随机生成的数据添加到绘图中。
摘要由CSDN通过智能技术生成

下面显示的代码有一个exit方法。在from pyqtgraph.Qt import QtGui, QtCore

import pyqtgraph as pg

import numpy as np

import time

import sys

class guiThread(QtCore.QThread):

def __init__(self):

QtCore.QThread.__init__(self)

self.status=True

self.range=100

#Add exit button connect and define a exit function like self.stop

self.app = QtGui.QApplication(sys.argv)

self.app.aboutToQuit.connect(self.stop)

self.win = pg.GraphicsWindow(title="Example")

self.win.resize(500,400)

pg.setConfigOptions(antialias=True)

self.px = self.win.addPlot(title="X plot")

self.ckx = self.px.plot(pen='y')

self.cdx = self.px.plot(pen='r')

self.px.setXRange(0, self.range)

self.px.setYRange(-180, 180)

self.px.showGrid(x=True, y=True)

self.timer = QtCore.QTimer()

self.timer.timeout.connect(self.updateplot)

self.timer.start(0.001)

self.kx=np.zeros(self.range)

self.dx=np.zeros(self.range)

def updateplot(self):

self.ckx.setData(self.kx)

self.cdx.setData(self.dx)

def append(self,sin):

self.kx=np.roll(self.kx,-1)

self.kx[-1]=sin[0]

self.dx=np.roll(self.dx,-1)

self.dx[-1]=int(sin[1])

def stop(self):

print "Exit" #exiy function

self.status=False

sys.exit()

def run(self):

print "run"

while self.status:

sin=np.random.randint(-180,180,2)

print sin

self.append(sin)

time.sleep(0.01)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值