A library and terminal wrapper around qrenco.de.
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.
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.
The library itself can be installed with
$ 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
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
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.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for textual_qrcode-0.2.0-py3-none-any.whl