A library and terminal wrapper around qrenco.de.
Project description
textual-qrcode
Introduction
While, I admit, likely of little utility really, this library aims to show one possible way of writing and "shipping" a custom widget for Textual. Key here is that the library contains and provides a custom widget which can be imported and used in an application; but it also provides a simple application that can be run to see the widget in action.
Please note!
This library is just a thin wrapper around https://qrenco.de/. Each time you create a QR code the content you encode is sent to that website. It also means, of course, that this is only usable with a working net connection. Please keep these things in mind if you do decide to actually use this for something.
Installing
The library itself can be installed with pip
:
$ pip install textual-qrcode
or with your Python environment manager of choice.
Running the test application
The demo/test application can be run like this:
$ python -m textual_qrcode
When you've finished testing, press Ctrl+C to quit.
Using the widget
To make use of the QRCode
widget, import it into your code:
from textual_qrcode import QRCode
The widget itself takes all of the arguments that a normal Textual Widget
takes, but has the addition of an initial positional argument which is some
text to encode. An example use of it could look like:
def compose( self ) -> ComposeResult:
yield Header()
yield QRCode( "https://textual.textualize.io/" )
yield Footer()
The widget also has a encode
method, that lets you update the QR code to
display something else. For example:
self.query_one( QRCode ).encode( "Now I've changed it to this" )
The widget will send out one of two messages when an attempt is made to
encode some content. If the content was encoded fine a QRCode.Encoded
message is sent out, which can be caught like this:
def on_qrcode_encoded( self, event: QRCode.Encoded ) -> None:
# Do something now that the QR code was updated fine.
If there is an error encoding the content QRCode.Error
will be sent out.
this can be used like this:
def on_qrcode_error( self, event: QRCode.Error ) -> None:
# Do something about the error.
In both cases the event sent out has a qr_code
property which is the
QRCode
widget involved.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for textual_qrcode-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1705547af5a7b76b25ca95ed62f6166f867147ccc9e1414c2eb377a078251a1 |
|
MD5 | 94df6a0c6872e9df6acfcd4b0e3119a0 |
|
BLAKE2b-256 | 08585a1b4c4ce3b039dee290f61cb8fb6c463c6ca77db8a714488d736ee808b9 |