如何从类中的另一个函数调用变量



我试图从同一 PyQT5 class中的另一个函数调用变量,但它返回错误。我基本上使用文件拾取器获取值,然后将其放入熊猫中,然后将结果存储在data2

我已经检查了凹痕。

python

class Ui_Dialog(QWidget):
    def selectFile(self):
        options = QFileDialog.Options()
        options |= QFileDialog.DontUseNativeDialog
        fileName, _ = QFileDialog.getOpenFileName(self, "Open File", "", "All Files (*);;Excel Files (*.xlsx)", options=options)
        # print(fileName)
        if fileName:
            # df=pd.read_excel(fileName,Header=None)
            self.variableOne = fileName
            # return self.variableOne
            print(self.variableOne)
            # return fileName
            # type(fileName)
            # global data
            # data=np.asarray(df)
    def pandaGetValues(self):
        self.df=pd.read_excel(self.variabelOne,Header=None)
        self.data=np.asarray(self.df)
        self.data2=self.data[1:-1,:]
    def get_voltage(self, r, t):
        all=[]
        data3=self.data2
        for i in range (1,len(data3[0]),3):
            self.mm = [] 
            times=[]
            self.times2=[]
            self.header = self.data[0,i]
            firstnumber = 0
            first_index = 0
            #temp=np.empty([], dtype=int)
            self.temp=[]
            m=np.where((data3[1:,i] >= r ) & (data3[1:,i] <= t )) 
            self.final=[]
            # print('nn line number',i)
            print(self.data[0,i])
            #return i
            self.mm=self.m[0]
            self.mm=np.asarray(self.mm)
            print(self.mm)

attributeError:'ui_dialog'对象没有属性'data2'

您要调用的变量" data2"是函数" pandagetValues"的局部变量。如果您想使用自我访问它,则需要使其全局:

class Ui_Dialog(QWidget):
   data2 = None
   def selectFile(self):
      ...

最新更新