錯誤:self.START.clicked.connect(self.StartClicked)AttributeError:“代碼”對象沒有屬性“StartClicked”這是我的代碼。我不知道我在這段代碼中哪里錯了,請你檢查一下并糾正我哪里錯了。當我嘗試在沒有 GUI 的情況下運行代碼時,它工作正常,但使用 QT 時,它給了我這個錯誤。import sysimport cv2import datetimefrom PyQt5.QtWidgets import QApplication ,QDialogfrom PyQt5.uic import loadUifrom PyQt5.QtGui import QImage,QPixmapfrom PyQt5.QtCore import pyqtSlotclass code(QDialog): def __init__(self): super(code,self).__init__() loadUi('letst.ui',self) self.logic =0 self.START.clicked.connect(self.StartClicked) self.STOP.clicked.connect(self.StopClicked)@pyqtSlot()def StartClicked(self): self.logic=1 fourcc = cv2.VideoWriter_fourcc(*'XVID') date=datetime.datetime.now() cap = cv2.VideoCapture(1) out= cv2.VideoWriter('E:/project/videos/rec_%s%s%s%s%s%s.mp4' %(date.year,date.month,date.day,date.hour,date.minute,date.second),fourcc,20.0,(640,480)) while (cap.isOpened()): ret,frame = cap.read() if ret == True: self.displayImage(frame,1) cv2.waitKey() if (self.logic==1): out.write(frame) if (self.logic==0): break else: print('return not found') cap.release() out.release() cv2.destroyAllWindows()def StopClicked(self): self.logic=0def displayImage(self, img,window=1): qformat = QImage.Format_Indexed8 if len(img.shape)==3: if (img.shape[2])==4: qformat=QImage.Format_RGBA888 else: qformat=QImage.Format_RGB888 img =QImage(img, img.shape[1],img.shape[0],qformat) img =img.rgbSwapped() self.imglabel.setPixmap(QPixmap.fromImage(img)) self.imgLabel.setAlignment(QtCore.Qt.AlignHCenter | Qtcore.Qt.AlignVCenter)
1 回答

POPMUISE
TA貢獻1765條經驗 獲得超5個贊
以下函數應該在類中:
def StartClicked(self):
def StopClicked(self):
def displayImage
請更正縮進并嘗試。
添加回答
舉報
0/150
提交
取消