当我使用 __slots__ 时,我收到一个错误“<built-in function connectSlotsByName> 返回一个带有错误集的结果”

问题描述

我正在尝试使用 pyqt5 制作 gui。当我在 __slots__ 下没有 varaibales 时,代码工作正常,但是一旦我将它们放入,我就会收到一条错误消息

"(内建函数connectSlotsByName)返回一个错误集的结果"

并在错误的顶部说

"'MainWindow' 对象没有属性 'z'"

下面是我的代码的一部分(有点长)。我什至不确定 __slots__ 是否有问题。因为当我从 'fName' 到 'has_data' 时它工作得很好,但是一旦我在 'x' 下添加了东西,它就开始给我这个错误

class MainWindow(QDialog):
__slots__ = (
    # find_file_Callback
    'fName','cubefilename','ROI','ROIcount','has_data','x','x_end','y','y_end','z','ptflag','rgflag','rgflagROI','intens'
    )

def __init__(self):
    super(MainWindow,self).__init__()
    loadUi("ptype1.ui",self)
    self.find_file.clicked.connect(self.find_file_Callback)
    self.micrometer.setChecked(True)
    self.start_cube.clicked.connect(self.start_cube_Callback)
    
    self.fName = ""
    self.cubefilename = ""
    self.ROI = 0
    self.ROIcount = 0
    self.has_data = 0
    self.x = 0
    self.x_end = 0
    self.y = 0
    self.y_end = 0
    self.z = 0
    self.ptflag = False
    self.rgflag = False
    self.rgflagROI = False
    self.intens = 0

    
def start_cube_Callback(self):
    self.cubefilename = self.fName[0]
    filename = self.cubefilename
    print("Working to read datacube")
    fileID = open (filename)
    data = np.fromfile(fileID,dtype = np.float32)
    x=int(data[0])
    y=int(data[1])
    z=int(data[2])
    end = len(data)
    imgZ = data[end-z:end]
    img =  data[3:x*y*z +3]
    del data
    img = img.reshape(z,x,y,order = 'F') 
    img = img.transpose(2,1,0) 
    img = np.flip(img,0)
    imgX = np.arange(37.5,75*x+37.5,75)
    imgY = np.arange(75,150*y+75,150)
    fileID.close()
    
    print("Working to display data\n")
    
    scalefact = 1e3

    self.x = abs((imgX-imgX[0])/scalefact)
    xm,xn = 1,len(imgX) 
    if xm > xn:
        self.x = self.x.conj().T 
    self.x_end = self.x[len(self.x) - 1]
    self.y = abs((imgY-imgY[0])/scalefact)
    ym,yn = 1,len(imgY)
    if ym < yn:
        self.y = self.y.conj().T
    self.y_end = self.y[len(self.y) - 1]
    self.z = imgZ

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...