«canvas.mpl_connect» не работает внутри класса - PullRequest
0 голосов
/ 23 января 2019

Я пытаюсь ответить (вернуть значение event.xdata) относительно события нажатия мыши на fig. Но это не работает. Может кто-нибудь сказать мне, если что-то не так с моим кодом? Спасибо, ребята.

class ImDisp(mywindow):
    def __init__(self):
        super(ImDisp,self).__init__()

    def BsFig(self,rd,daxis,taxis):
        pos = self.horizontalSlider.value()
        amplim = [self.AmpMinEdit.text(),self.AmpMaxEdit.text()]
        dispopt = [int(self.WindowSizeEdit.text()),int(self.SlidePrecEdit.text())]

        plt.ioff()
        plt.close()
        fig,ax = plt.subplots()
        subwindowsize=dispopt[0]
        slideprecision=dispopt[1]
        d_windowstep = (daxis[-1] - subwindowsize)/(slideprecision-0)      
        x_windowmin = int(round((0+pos*d_windowstep)/(daxis[1]-daxis[0])))
        x_windowmax = x_windowmin+int(round(subwindowsize/(daxis[1]-daxis[0])))
        plt.imshow(rd[:,x_windowmin:x_windowmax], cmap='gray',vmin=amplim[0], vmax=amplim[1], extent=[daxis[x_windowmin], daxis[x_windowmax], taxis[-1], taxis[0]], aspect='auto')
        ax.set_xlabel('D')
        ax.set_ylabel('T')

        fig.canvas.mpl_connect('button_press_event',self.BsInf)
        bs = FigureCanvas(fig)

        self.mainDisp.setWidget(bs)       
        return bs

    def BsInf(self,event):                          
        bs_d=event.xdata
        bs_t=event.ydata
        print(bs_d)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...