如何在嵌入pyqt5的pyqtgraph中显示光标坐标?

穆罕默德

我正在关注教程。这是pyqt5中嵌入的一个简单的最小pyqtgrapth。如何启用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()
尼克

试试看:

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()

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在PyQt5 GUI中显示Folium地图?

来自分类Dev

如何在PyQt5 QColorDialog中显示Alpha通道

来自分类Dev

PyQt5 如何在 QLineEdit 中显示按键输入?

来自分类Dev

PyQt5 QGroupBox-如何在QGroupBox的顶部外部行中显示标题?

来自分类Dev

如何在PyQT5中自隐藏和显示QDialog()?

来自分类Dev

如何在pyqt5中创建小部件以显示谷歌地图

来自分类Dev

在PyQtGraph中返回鼠标光标坐标

来自分类Dev

如何在 PyQt5 的主窗口中嵌入一个窗口

来自分类Dev

PyQt5:多次覆盖后如何还原默认光标?

来自分类Dev

如何在PyQt5中发出dataChanged

来自分类Dev

如何在PyQT5中暂停/播放线程?

来自分类Dev

如何在PyQt5中向QLabel添加信号?

来自分类Dev

如何在PyQt5中使用按键事件

来自分类Dev

如何在PyQt5中获取拖放索引

来自分类Dev

如何在PyQt5中反转Spinbox选择?

来自分类Dev

如何在Pyqt5中删除QGraphicsItem

来自分类Dev

在函数内部时如何在pyqt5中“打印”?

来自分类Dev

如何在PyQt5中内联列出项目

来自分类Dev

如何在pyqt5中设置旋转动画?

来自分类Dev

如何在PyQt5 QOpenGLWidget中构造球体

来自分类Dev

如何在PyQT5中暂停/播放线程?

来自分类Dev

如何在PyQt5中在屏幕上移动点?

来自分类Dev

如何在 PyQt5 中制作动画?

来自分类Dev

如何在 PyQt5 中更新 QLabel?

来自分类Dev

如何在 PyQt5 中居中窗口标题?

来自分类Dev

PyQt5:设置图形场景中项目的坐标

来自分类Dev

带有 PyQtGraph 图的 PyQt5 gui:在右侧显示 y 轴

来自分类Dev

如何在python中从pyqt4升级到pyqt5

来自分类Dev

如何在PyQt中嵌入vispy图形?