Skip to main content

use qr to transit messages from OS to other devices, e.g. handset

Project description

๐ŸŽฏ PySimpleQR - Professional QR Code Generator

๐Ÿš€ Vibed and rocks with Trae.ai IDE! Built entirely within Trae.ai's intelligent development environment with AI-powered assistance throughout the development process.

A sleek, modern Python desktop application for generating professional QR codes with advanced features and an intuitive user interface.

๐ŸŽจ Screenshots

PySimpleQR Main Interface

โœจ Features

๐Ÿ–ฅ๏ธ Modern Desktop Application

  • Responsive UI that adapts to different screen sizes
  • Beautiful color scheme with professional styling
  • Real-time character counter with length warnings
  • Intuitive layout with clear visual hierarchy

๐Ÿ”ง Advanced QR Generation

  • High-quality QR code generation with PIL/Pillow
  • Text truncation for long content (max 2953 chars)
  • URL escaping option to prevent auto-detection
  • Plain text mode toggle for non-URL content

๐ŸŽจ Smart Image Handling

  • Automatic image resizing to fit preview frame
  • Aspect ratio preservation during scaling
  • High-quality resampling with LANCZOS algorithm
  • 300x300 optimized display with responsive sizing

๐Ÿ“‹ Export Options

  • Save QR codes as PNG files with 95% quality
  • Copy to clipboard (Windows native + fallback)
  • Test QR generation with sample content
  • File dialog integration for easy saving

โšก Enhanced UX

  • Loading indicators during generation
  • Status bar updates for user feedback
  • Error handling with informative messages
  • Keyboard shortcuts and responsive design

๐Ÿ› ๏ธ Installation & Setup

Prerequisites

  • Python 3.12+
  • pip or uv package manager

Quick Start

# Clone the repository
git clone [your-repo-url]
cd pysimpleqr

# Install dependencies
uv pip install -e .

# Or with pip
pip install -e .

# Run the application
python -m pysimpleqr.main

Dependencies

# Core dependencies
qrcode[pil]>=7.4.2
Pillow>=10.0.0
FreeSimpleGUI>=5.0.0

# Optional (for Windows clipboard)
pywin32>=306

๐Ÿš€ Usage

Basic Usage

  1. Launch the app: python -m pysimpleqr.main
  2. Enter text: Type or paste your content in the text area
  3. Generate QR: Click "โœจ QR it" button
  4. Save/Copy: Use "๐Ÿ’พ Save QR" or "๐Ÿ“‹ Copy QR" buttons

Advanced Options

  • Plain text mode: Prevents URL auto-detection by scanners
  • Escape URLs: Replaces dots and colons to avoid auto-linking
  • Character counter: Shows remaining capacity with color warnings
  • Test button: Generates sample QR for quick testing

Keyboard Shortcuts

  • Generate: Click "โœจ QR it" or press Enter in text area
  • Save: Ctrl+S or click "๐Ÿ’พ Save QR"
  • Copy: Ctrl+C or click "๐Ÿ“‹ Copy QR"
  • Close: Alt+F4 or click "โŒ Close"

๐Ÿงช Development

Project Structure

pysimpleqr/
โ”œโ”€โ”€ pysimpleqr/
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ __main__.py          # Entry point
โ”‚   โ”œโ”€โ”€ main.py              # GUI application
โ”‚   โ””โ”€โ”€ qr_core.py           # QR generation logic
โ”œโ”€โ”€ tests/                   # Comprehensive test suite
โ”œโ”€โ”€ pyproject.toml          # Project configuration
โ”œโ”€โ”€ README.md               # This file
โ””โ”€โ”€ [other config files]

Running Tests

# Run all tests
pytest

# Run with coverage
pytest --cov=pysimpleqr tests/

# Run specific test file
pytest tests/test_main.py

Development Features

  • 78 comprehensive tests covering all functionality
  • Mock testing for GUI components
  • Error handling validation
  • Cross-platform compatibility

๐ŸŽฏ Recent Updates

Latest Features (v2.0)

  • โœ… Smart image resizing - QR codes automatically fit the preview frame
  • โœ… URL escaping - Prevent unwanted URL detection by scanners
  • โœ… Enhanced error handling - Better user feedback and recovery
  • โœ… Improved UI responsiveness - Better layout on different screen sizes
  • โœ… Test button - Quick QR generation for testing purposes
  • โœ… Clipboard integration - Native Windows + fallback support

Technical Improvements

  • Aspect ratio preservation during image scaling
  • High-quality resampling with LANCZOS algorithm
  • Optimized memory usage with proper image handling
  • Comprehensive test coverage with 78+ tests

๐Ÿ–ฅ๏ธ System Requirements

Supported Platforms

  • Windows (full feature support)
  • Linux (with X11/Wayland)
  • macOS (with tkinter support)

๐Ÿค Contributing

We welcome contributions! Please see:

  • Issues: Report bugs or request features
  • Pull Requests: Submit improvements
  • Discussions: Share ideas and feedback

๐Ÿ“„ License

This project is open source and available under the MIT License.

๐Ÿ”— Links

  • Homepage: [GitHub Repository]
  • Issues: [GitHub Issues]
  • Documentation: [Project Wiki]

Built with โค๏ธ using Trae.ai IDE

This project was developed entirely within Trae.ai's intelligent development environment, leveraging AI-powered coding assistance for rapid development and high-quality code generation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysimpleqr-0.1.2.tar.gz (21.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pysimpleqr-0.1.2-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file pysimpleqr-0.1.2.tar.gz.

File metadata

  • Download URL: pysimpleqr-0.1.2.tar.gz
  • Upload date:
  • Size: 21.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.25

File hashes

Hashes for pysimpleqr-0.1.2.tar.gz
Algorithm Hash digest
SHA256 bada4e0128bac9c43ff260b33a02ab1c4c834825ea5494023d56ad720a92085b
MD5 f773f06bbdf3f720ff86ddb13a237bba
BLAKE2b-256 23a0210ae6f8dc53c5fa5cb5b57eedc2e253ff6d7101959aa9194896b174de39

See more details on using hashes here.

File details

Details for the file pysimpleqr-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: pysimpleqr-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 11.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.25

File hashes

Hashes for pysimpleqr-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 875f014c6ff55f4d257ae25b02b18c5b0ac297543d360ad5c96136e5f742957c
MD5 32e0e65ade3730520dff14487fd06386
BLAKE2b-256 88fbf1c5bd3a94a266c67248f4349ad2448d7f05426e28ebbf1a96d2dfb3278b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page