0

I am trying to create a qr scanner using tkinter and opencv. On pressing QR scan button camara is opened in new frame and giving perfact results. What I want is when button is pressed camara should be opened in same tkinter window and not in new frame

Code:

import tkinter as tk
import cv2
import numpy as np
import pyzbar.pyzbar as pyzbar
window=tk.Tk()
window.title("SCANNER")
window.geometry("500x500")
window.config(background='black')
window.maxsize(500,500)


def scan():

    cap = cv2.VideoCapture(0)
    font = cv2.FONT_HERSHEY_PLAIN

    while True:
        _, frame = cap.read()

        decodedObjects = pyzbar.decode(frame)
        for obj in decodedObjects:
            # print("Data", obj.data)
            scanned.config(text=obj.data)
            cv2.putText(frame, str(obj.data), (50, 50), font, 2,
                        (255, 0, 0), 3)


        cv2.imshow("Frame", frame)

        key = cv2.waitKey(1)


        if cv2.getWindowProperty('Frame',cv2.WND_PROP_VISIBLE)<1:
            break
    cv2.destroyAllWindows()

but3 = tk.Button(window,text="SCAN QR CODE", width=30,font=("Ariel Bold",15),bg='blue', command=scan)
but3.place(x=100, y=160)
scanned = tk.Label(window, text="RESULT", width=30, font=("Ariel Bold", 15))
scanned.place(x=100, y=200)
window.mainloop()

enter image description here

2
  • Take a look here Commented Sep 6, 2020 at 17:15
  • 1
    Yeh thankyou i got it. Commented Sep 7, 2020 at 18:11

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.