파이썬에서 QR 코드를 생성하고 직접 Tkinter에 표시
파일에 저장하지 않고 직접 표시하려면 PIL.ImageTk.PhotoImage가 키였습니다.
다만, Tk의 초기화 종료 후가 아니면 실행할 수 없기 때문에 주의.
pip install pillow qrcode colorama
#!/usr/bin/env python
# -*- coding: utf8 -*-
import sys
import tkinter as tk
import PIL.ImageTk
import qrcode #qrcodeを起動
msg = "Hello World"
w=800
h=500
def makeQR(s):
qr = qrcode.QRCode(
version=None, #QRコードの大きさ(バージョン)。Noneで自動設定(1~22)。数値指定しても必要なら自動で大きくなる
error_correction=qrcode.constants.ERROR_CORRECT_M, #誤り訂正レベルL,M,Q,H
box_size=3, #サイズを何倍にするか。1ならdot-by-dot(px)
border=8,#認識用余白(最低4)
)
qr.add_data(s)
qr.make(fit=True)
return qr.make_image()
root = tk.Tk()
canvas = tk.Canvas(root,width=w,height=h,bg='white')
f = ('FixedSys, 14')
imgtk = PIL.ImageTk.PhotoImage(makeQR(msg))
canvas.create_image(w/2,h/2,image = imgtk,anchor = tk.CENTER)
canvas.create_text(w/2,50,text = "Header",font=f)
canvas.create_text(w/2,450,text = "Footer",font=f)
canvas.pack()
root.mainloop()
다음과 같이 다시 작성하면 창 크기가 딱 맞습니다.
imgtk = PIL.ImageTk.PhotoImage(makeQR(msg))
canvas = tk.Canvas(root,width=imgtk.width(),height=imgtk.height(),bg='white')
canvas.create_image(0,0,image = imgtk,anchor = tk.NW)
canvas.pack()
참고
파이썬 'qrcode'를 사용하여 QR 코드 생성
qrcode 5.3
Python의 Tkinter를 사용해보십시오.
【Python】Tkinter의 캔버스를 사용해보기
Python/Tkinter 프로그래밍 강좌 이미지 및 파일 선택
Tkinter (Canvas)의 내용을 PIL로 캡처
Reference
이 문제에 관하여(파이썬에서 QR 코드를 생성하고 직접 Tkinter에 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/gpsnmeajp/items/9a6efdc796d84439a7ce
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(파이썬에서 QR 코드를 생성하고 직접 Tkinter에 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/gpsnmeajp/items/9a6efdc796d84439a7ce텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)