나는 새로운 pyqtgraph 사용자입니다. http://www.pyqtgraph.org/documentation/how_to_use.html의 지침에 따라 "PyQt 응용 프로그램 내에 위젯 포함"을 시도하십시오. 내 예제에서 나는 그래픽 다음 저장 "test2.ui"로, PlotWidget에 볼 촉진, 또한, 내 코드를 "십자선/마우스 상호 작용"예를 따르마우스 위치를 얻는 방법
import sys
import numpy
from PyQt5 import QtCore, QtGui,uic,QtWidgets
from PyQt5.QtWidgets import *
import pyqtgraph as pg
import os
hw,QtBaseClass=uic.loadUiType("test.ui")
def gaussian(A, B, x):
return A * numpy.exp(-(x/(2. * B)) ** 2.)
class MyApp(QtWidgets.QMainWindow, hw):
def __init__(self):
super().__init__()
self.setupUi(self)
winSize=self.size()
self.view.resize(winSize.width(),winSize.height())
x = numpy.linspace(-5., 5., 10000)
y =gaussian(5.,0.2, x)
self.p=self.view.plot(x,y)
proxy = pg.SignalProxy(self.view.scene().sigMouseMoved, rateLimit=60, slot=self.mouseMoved)
self.view.enableAutoRange("xy", True)
def mouseMoved(evt):
print("mouseTest")
mousePoint = self.p.vb.mapSceneToView(evt[0])
label.setText(
"<span style='font-size: 14pt; color: white'> x = %0.2f, <span style='color: white'> y = %0.2f</span>" % (
mousePoint.x(), mousePoint.y()))
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
window = MyApp()
window.show()
sys.exit(app.exec_())
이 보인다되지 마우스 이동 이벤트를 얻을; 후 변경 프록시 = pg.SignalProxy (self.view.scene(). sigMouseMoved, 만 부가 = 60 슬롯 = self.mouseMoved) 에 self.view.scene(). sigMouseMoved.connect (self.mouseMoved) "MouseTest"가 출력되지만 프로그램이 즉시 중단됩니다. 어떤 사람은 도움을 나에게