错误:self.START.clicked.connect(self.StartClicked)
AttributeError:“代码”对象没有属性“StartClicked”
这是我的代码。我不知道我在这段代码中哪里错了,请你检查一下并纠正我哪里错了。
当我尝试在没有 GUI 的情况下运行代码时,它工作正常,但使用 QT 时,它给了我这个错误。
import sys
import cv2
import datetime
from PyQt5.QtWidgets import QApplication ,QDialog
from PyQt5.uic import loadUi
from PyQt5.QtGui import QImage,QPixmap
from PyQt5.QtCore import pyqtSlot
class 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=0
def 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)
POPMUISE
相关分类