微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决当我使用 __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.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?