Add demo script for QRCodeWidget in nano-gui

pull/84/head
AlyssonM 2025-01-13 14:36:13 -03:00
rodzic 390ebc65ee
commit 64ecb08366
1 zmienionych plików z 47 dodań i 0 usunięć

Wyświetl plik

@ -0,0 +1,47 @@
# qrcode_test.py Test/demo of QRCodeWidget for nano-gui
# Inicialize o hardware e o framebuf antes de importar módulos.
from color_setup import ssd # Configuração do display
from gui.core.nanogui import refresh
from gui.core.writer import CWriter
from gui.core.colors import *
import gui.fonts.arial10 as arial10 # Substitua pela fonte disponível
from gui.core.widgets import QRCodeWidget
import asyncio
# Argumentos comuns
qrcode_args = {
"version": 6,
"scale": 3,
"fgcolor": BLUE,
"bdcolor": RED,
"bgcolor": WHITE, # Garantir fundo branco
}
async def demo_qr(wri):
# Inicializa o widget QRCode
qr = QRCodeWidget(wri, 10, 10, **qrcode_args) # Row=10, Col=10
qr.value("https://example.com") # Texto ou URL para o QR Code
qr.show()
refresh(ssd) # Atualiza o display
await asyncio.sleep(3) # Exibe o QR Code por 3 segundos
# Testa outro QR Code
qr.value("Hello, NanoGUI!")
qr.show()
refresh(ssd) # Atualiza o display novamente
await asyncio.sleep(3)
async def main(wri):
await demo_qr(wri)
def test():
refresh(ssd, True) # Inicializa e limpa o display
CWriter.set_textpos(ssd, 0, 0) # Garante posição inicial
wri = CWriter(ssd, arial10, WHITE, BLACK, verbose=False)
wri.set_clip(True, True, False)
asyncio.run(main(wri))
test()