第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何獲取 pyqtgraph 小部件上的鼠標(biāo)光標(biāo)坐標(biāo)?

如何獲取 pyqtgraph 小部件上的鼠標(biāo)光標(biāo)坐標(biāo)?

德瑪西亞99 2024-01-12 10:46:26
每當(dāng)我雙擊小部件時(shí),我想獲取 pyqtgraph 小部件上的鼠標(biāo)光標(biāo)坐標(biāo)并將它們發(fā)送到函數(shù)。我查找了如何做并可以找到一些類似的問題,但我仍然無法獲得正確的坐標(biāo)。import pyqtgraph as pgfrom pyqtgraph.Qt import QtGui, QtCorefrom pyqtgraph.dockarea import *from PyQt5.QtGui import *from PyQt5.QAxContainer import *from PyQt5.QtCore import *def on_double_click_out(event):    pos = event    print('clicked', pos)        class Plotter():    def __init__(self):        pg.setConfigOption('background', 'w')        pg.setConfigOption('foreground', 'k')        self.win = QtGui.QMainWindow()        self.area = DockArea()        self.win.setCentralWidget(self.area)        self.win.resize(1000,500)        self.win.setWindowTitle('pyqtgraph example: dockarea')         self.dock_TR = Dock("TR", size=(300,10))          self.dock_TR.hideTitleBar()                self.area.addDock(self.dock_TR)                 self.widgetTR = pg.PlotWidget()        self.widgetTR.showGrid(x=True, y=True, alpha=0.3)           self.dock_TR.addWidget(self.widgetTR)                self.win.show()                    p = Plotter()proxy = pg.SignalProxy(p.widgetTR.scene().sigMouseClicked, rateLimit=60, slot=on_double_click_out)當(dāng)我在 widgetTR 上單擊(不是雙擊)時(shí),我得到一些坐標(biāo),但它們與 x、y 軸無關(guān)。例如,當(dāng)我單擊小部件的 (1, 1) 時(shí),結(jié)果是clicked (<MouseClickEvent (573,-259) button=1>,)我還想知道是否可以通過雙擊來完成此操作。
查看完整描述

1 回答

?
慕碼人8056858

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超6個(gè)贊

您可以使用 pyqtgraph.GraphicsScene.mouseEvents.MouseClickEvent.double() 來查看 MouseClickEvent 是否是雙擊。


您確定坐標(biāo)不正確嗎?坐標(biāo)系從左上角的 (0,0) 開始。


試試這個(gè)代碼,它對(duì)我有用:


import pyqtgraph as pg

from pyqtgraph.Qt import QtGui, QtCore

from pyqtgraph.dockarea import *

from PyQt5.QtGui import *

from PyQt5.QtCore import *

from PyQt5 import QtCore, QtGui, QtWidgets, uic

import numpy as np


def on_double_click_out(event):

    mouseEvent = event[0]

    mousePoint = mouseEvent.pos()

    if mouseEvent.double():

        print("Double click")

    if p.p1.sceneBoundingRect().contains(mousePoint):        

        print('x=', mousePoint.x(), ' y=', mousePoint.y())

        

class Plotter():

    def __init__(self):

        pg.setConfigOption('background', 'w')

        pg.setConfigOption('foreground', 'k')


        self.win = pg.GraphicsLayoutWidget(show=True)

        self.win.resize(1000,500)

        self.win.setWindowTitle('pyqtgraph example: dockarea')

 

        self.p1 = self.win.addPlot()

        self.win.show()        

            

p = Plotter()

proxy = pg.SignalProxy(p.win.scene().sigMouseClicked, rateLimit=60, slot=on_double_click_out)


if __name__ == '__main__':

    import sys

    if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):

        QtGui.QApplication.instance().exec_()

您還可以查看 pyqtgraph 示例“crosshair.py”。


查看完整回答
反對(duì) 回復(fù) 2024-01-12
  • 1 回答
  • 0 關(guān)注
  • 271 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)