def run(self): tool = QRCode() errorCorrection = self.transferErrorCorrectionValue( self.parent.errorCorrectionValue) img = tool.make(self.content, self.parent.logoPath, self.parent.style, errorCorrection) img.save(self.parent.config.get('single_qrcode_cache_key')) print('生成完成') self.signal.emit('OK')
def run(self): # 读取文件 excel = load_workbook(self.batchFile) sheetnames = excel.sheetnames sheet = excel[sheetnames[0]] # 整合表数据 # 数据格式 [ ['内容', '名字'], [], [] ] data = [] for i in range(2, sheet.max_row + 1): item = [] for j in range(1, sheet.max_column + 1): item.append(sheet.cell(row=i, column=j).value) data.append(item) QRTool = QRCode() # 准备进度条数据 dataLength = len(data) success = 0 fail = 0 # 生成二维码 for i, vo in enumerate(data): progressBarValue = int(i + 1) / dataLength * 100 try: img = QRTool.make(str(vo[0]), self.batchLogoPath, self.batchStyle) imgName = str(i + 1) + '.png' try: if vo[1]: imgName = str(vo[1]) + '.png' except IndexError: pass img.resize((self.batchSize, self.batchSize)).save( os.path.join(self.savePath, imgName)) message = '<p style="margin:2">{} 生成成功</p>'.format(vo[0]) success = success + 1 except: print('error: ', sys.exc_info()[0]) fail = fail + 1 message = '<p style="margin:2;color:red">{} 生成失败</p>'.format( vo[0]) self.signal.emit({ 'progressBarValue': progressBarValue, 'message': message }) message = '执行完毕, 共处理 {} 条数据, 成功生成 {} 个二维码, 失败 {} 个.'.format( dataLength, success, fail) self.signal.emit({'progressBarValue': 100, 'message': message})
def process(self, status): name = status["name"] value = status["value"] if (name == "FACE"): if int(value["distance"]) >= 0: self.state.face = Face(int(value["coordx"]), int(value["coordy"]), int(value["distance"])) self.runCallback("face") else: self.runCallback("lostface") self.resetFace() elif (name == "BLOB"): self.state.blobs[value["color"]].posx = int(value["posx"]) self.state.blobs[value["color"]].posy = int(value["posy"]) self.state.blobs[value["color"]].size = int(value["size"]) self.runCallback("blob") elif (name == "QRCODEAPPEAR"): self.state.qr = QRCode(float(value["coordx"]), float(value["coordy"]), float(value["distance"]), float(value["p1x"]), float(value["p1y"]), float(value["p2x"]), float(value["p2y"]), float(value["p3x"]), float(value["p3y"]), value["id"]) self.runCallback("newqr") elif (name == "QRCODE"): self.state.qr = QRCode(float(value["coordx"]), float(value["coordy"]), float(value["distance"]), float(value["p1x"]), float(value["p1y"]), float(value["p2x"]), float(value["p2y"]), float(value["p3x"]), float(value["p3y"]), value["id"]) self.runCallback("qr") elif (name == "QRCODELOST"): self.state.qr = QRCode(0, 0, 0, 0, 0, 0, 0, 0, 0, "None") self.runCallback("lostqr")
def __init__(self): self.id = 0 self.noise = 0 self.claps = 0 self.irs = [] self.leds = [] self.baseBattery = 0 self.phoneBattery = 0 self.face = Face(0, 0, -1) self.tapx = 0 self.tapy = 0 self.flingAngle = 0 self.flingTime = 0 self.flingDistance = 0 self.brightness = 0 self.pitch = 0 self.yaw = 0 self.roll = 0 self.accelx = 0 self.accely = 0 self.accelz = 0 self.panPos = 0 self.tiltPos = 0 self.blobs = { "red": Blob("red", 0, 0, 0), "green": Blob("green", 0, 0, 0), "blue": Blob("blue", 0, 0, 0), "custom": Blob("custom", 0, 0, 0) } self.qr = QRCode(0, 0, 0, 0, 0, 0, 0, 0, 0, "None") self.lastNote = '' self.lastNoteDuration = 0 self.wheelPosR = 0 self.wheelPosL = 0 self.wheelSpeedR = 0 self.wheelSpeedL = 0 self.wheelLock = False self.panLock = False self.tiltLock = False self.degreesLock = False self.talkLock = False self.emotion = "normal"
def resetSensors(self): self.claps = 0 self.irs = [] self.baseBattery = 0 self.phoneBattery = 0 self.face = Face(0, 0, 0) self.tapx = 0 self.tapy = 0 self.flingAngle = 0 self.flingTime = 0 self.flingDistance = 0 self.brightness = 0 self.pitch = 0 self.yaw = 0 self.roll = 0 self.accelx = 0 self.accely = 0 self.accelz = 0 self.panPos = 0 self.tiltPos = 0 self.blobs = { "red": Blob("red", 0, 0, 0, 0, 0), "green": Blob("green", 0, 0, 0, 0, 0), "blue": Blob("blue", 0, 0, 0, 0, 0), "custom": Blob("custom", 0, 0, 0, 0, 0), } self.qr = QRCode(0, 0, 0, 0, 0, 0, 0, 0, 0, "None") self.detectedObject = DetectedObject(0, 0, 0, 0, 0.0, "") self.tag = Tag(0, 0, 0, 0, 0, 0, 0, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, "") self.lines = Lines([], 0) self.lanePro = LanePro(0, 0, 0, 0, 0, 0, [], 0) self.laneBasic = LaneBasic(0, 0, 0, 0, 0) self.lastNote = 0 self.lastNoteDuration = 0 self.wheelPosR = 0 self.wheelPosL = 0 self.wheelSpeedR = 0 self.wheelSpeedL = 0 self.emotion = "normal"
def process(self, status): name = status["name"] value = status["value"] if (name == "FACE"): if int(value["distance"]) >= 0: self.state.face = Face(int(value["coordx"]), int(value["coordy"]), int(value["distance"])) self.runCallback("face") else: self.runCallback("lostface") self.resetFace() elif (name == "BLOB"): self.state.blobs[value["color"]].posx = int(value["posx"]) self.state.blobs[value["color"]].posy = int(value["posy"]) self.state.blobs[value["color"]].size = int(value["size"]) self.state.blobs[value["color"]].status_timestamp = int( value["timestamp"]) self.state.blobs[value["color"]].frame_timestamp = int( value["frame_timestamp"]) self.runCallback("blob") elif name == "QRCODEAPPEAR": self.state.qr = QRCode(float(value["coordx"]), float(value["coordy"]), float(value["distance"]), float(0), float(0), float(0), float(0), float(0), float(0), value["id"]) self.runCallback("newqr") elif name == "QRCODE": self.state.qr = QRCode(float(value["coordx"]), float(value["coordy"]), float(value["distance"]), float(value["p1x"]), float(value["p1y"]), float(value["p2x"]), float(value["p2y"]), float(value["p3x"]), float(value["p3y"]), value["id"]) self.runCallback("qr") elif name == "QRCODELOST": self.state.qr = QRCode(0, 0, 0, 0, 0, 0, 0, 0, 0, "None") self.runCallback("lostqr") elif name == "TAG": self.state.tag = Tag( int(value["cor1x"]), int(value["cor1y"]), int(value["cor2x"]), int(value["cor2y"]), int(value["cor3x"]), int(value["cor3y"]), int(value["cor4x"]), int(value["cor4y"]), float(value["rvec_0"]), float(value["rvec_1"]), float(value["rvec_2"]), float(value["tvec_0"]), float(value["tvec_1"]), float(value["tvec_2"]), value["id"]) self.runCallback("tag") elif name == "DETECTED_OBJECT": self.state.detectedObject = DetectedObject( int(value["posx"]), int(value["posy"]), int(value["width"]), int(value["height"]), float(value["confidence"]), value["label"]) self.runCallback("detectedobject") elif name == "LANE_BASIC": self.state.laneBasic = LaneBasic(float(value["a1"]), float(value["b1"]), float(value["a2"]), float(value["b2"]), int(value["id"])) self.runCallback("lanebasic") elif name == "LANE_PRO": self.state.lanePro = LanePro(float(value["left_a"]), float(value["left_b"]), float(value["left_c"]), float(value["right_a"]), float(value["right_b"]), float(value["right_c"]), json.loads(value["minv"]), int(value["id"])) self.runCallback("lanepro") elif name == "LINE": self.state.lines = Lines(json.loads(value["mat"]), int(value["id"])) self.runCallback("line")