Я следую этому туториалу. Вот простой минимальный pyqtgraph, встроенный в pyqt5. Как я могу включить pyqtgraph для отображения координат курсора на холсте?
from PyQt5 import QtWidgets
from pyqtgraph import PlotWidget, plot
import pyqtgraph as pg
import sys
class MainWindow(QtWidgets.QMainWindow):
def __init__(self, *args, **kwargs):
super(MainWindow, self).__init__(*args, **kwargs)
self.graphWidget = pg.PlotWidget()
self.setCentralWidget(self.graphWidget)
hour = [1,2,3,4,5,6,7,8,9,10]
temperature = [30,32,34,32,33,31,29,32,35,45]
self.graphWidget.plot(hour, temperature)
def main():
app = QtWidgets.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
@musicamante Я имею в виду координату курсора где-то на графике, она может быть вверху справа.
Попробуй это:
import sys
from PyQt5 import QtWidgets
from pyqtgraph import PlotWidget, plot
import pyqtgraph as pg
class MainWindow(QtWidgets.QMainWindow):
def __init__(self, *args, **kwargs):
super(MainWindow, self).__init__(*args, **kwargs)
self.graphWidget = pg.PlotWidget()
self.setCentralWidget(self.graphWidget)
hour = [1,2,3,4,5,6,7,8,9,10]
temperature = [30,32,34,32,33,31,29,32,35,45]
self.graphWidget.plot(hour, temperature)
# +++ vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
self.label = pg.TextItem(text = "Abscissa: {} \nOrdinate: {}".format(0, 0))
self.graphWidget.addItem(self.label)
self.setMouseTracking(True)
self.graphWidget.scene().sigMouseMoved.connect(self.onMouseMoved)
def onMouseMoved(self, evt):
if self.graphWidget.plotItem.vb.mapSceneToView(evt):
point =self.graphWidget.plotItem.vb.mapSceneToView(evt)
self.label.setHtml(
"<p style='color:white'>Abscissa: {0} <br> Ordinate: {1}</p>".\
format(point.x(), point.y()))
# +++ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
def main():
app = QtWidgets.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
Что вы подразумеваете под "показать положение курсора"? Показать где? Как?