因此,我希望用户单击一个按钮,该按钮将使用QR扫描仪将其移至窗口,我发现该文件已经编写了使用cv2的代码。问题在于它只是创建一个cv2框架而不是kv屏幕,并且应该在该屏幕上的按钮不存在,它只是在不同的窗口中显示带有cv2框架的上一个屏幕
cv2网络摄像头屏幕的一部分:
class QrScan(Screen):
def runcam(self):
while True:
_, frame = cap.read()
decodedObjects = pyzbar.decode(frame)
for obj in decodedObjects:
cv2.putText(frame, str(obj.data), (50, 50), font, 2,
(255, 0, 0), 3)
cv2.imshow("Frame", frame)
key = cv2.waitKey(1)
def back(self):
sm.current = "main"
.kv:
<QrScan>:
name: "Qr"
on_pre_enter: root.runcam()
FloatLayout:
Button:
pos_hint:{"x":0.3,"y":0.1}
size_hint: 0.4, 0.1
font_size: (root.width**2 + root.height**2) / 17**4
text: "Back"
on_release:
root.manager.transition.direction = "right"
root.back()
我已经看到集成,整个应用只是一个cv2网络摄像头,但是这些解决方案不适用于屏幕