Skip to content

axonyxquantum/windows_QR_Locker

Repository files navigation

🔐 QR Screen Lock

A Windows desktop app that lets you lock and unlock your PC by showing a QR code to your webcam. Includes a Kid Lock mode that blocks keyboard/mouse while keeping the screen visible — perfect for watching movies without little hands messing things up.


Features

  • QR Code Lock/Unlock — Generate a unique QR code. Show it to your webcam to toggle the lock.
  • 🧒 Kid Lock Mode — Transparent overlay blocks all keyboard & mouse input while the screen stays visible. A small red 🔒 badge pulses in the top-right corner.
  • 🔒 Full Lock Mode — Opaque fullscreen lock screen covers the entire desktop.
  • Passkey Fallback — Set a passkey during setup to unlock manually if you lose the QR code.
  • Live Camera Preview — See your webcam feed in the dashboard while scanning.
  • Neumorphic Dark UI — Modern, clean design built with PyQt6.
  • Windows Installer — One-click setup via Inno Setup.

Screenshots

Dashboard Kid Lock (transparent) Full Lock
Scan QR, toggle modes Screen visible, input blocked, red badge Passkey entry to unlock

Installation

Option 1: Download the Installer

  1. Download QRScreenLock_Setup_1.0.0.exe from this repo.
  2. Run the installer (requires admin for input blocking).
  3. Launch QR Screen Lock from the Start Menu or Desktop.

Option 2: Run from Source

git clone https://github.com/bxf1001g/windows_QR_Locker.git
cd windows_QR_Locker
pip install -r requirements.txt
python app.py

How to Use

  1. First Launch — Set a passkey (4+ characters) and generate your QR code. Save the QR image somewhere safe.
  2. Choose Lock Mode:
    • 🧒 Kid Lock — Blocks input, screen stays visible (great for movies).
    • 🔒 Full Lock — Covers the screen entirely.
  3. Start Scanning — Click the scan button to activate your webcam.
  4. Show QR Code — Hold your printed/saved QR code to the camera:
    • First scan → Locks the screen
    • Second scan → Unlocks the screen
  5. Lost your QR? — Enter your passkey on the Full Lock screen to unlock.

Project Structure

├── app.py              # Main PyQt6 application & dashboard
├── config.py           # Secret & passkey storage (AppData)
├── qr_generator.py     # QR code image generation
├── qr_scanner.py       # Webcam QR scanning (background thread)
├── screen_locker.py    # Lock screen overlays (Full + Kid Lock)
├── icon.svg            # App icon (SVG source)
├── icon.ico            # App icon (Windows ICO)
├── installer.iss       # Inno Setup installer script
├── QRScreenLock.spec   # PyInstaller build spec
├── requirements.txt    # Python dependencies
└── installer_output/   # Built installer exe

Requirements (for running from source)

  • Python 3.10+
  • Windows 10/11
  • Webcam
  • Dependencies: PyQt6, opencv-python, pyzbar, qrcode, pillow

Note: For BlockInput (OS-level keyboard/mouse blocking), run as Administrator.


Building from Source

Build the executable:

pip install pyinstaller
python -m PyInstaller QRScreenLock.spec --noconfirm

Build the installer:

"C:\Program Files (x86)\Inno Setup 6\ISCC.exe" installer.iss

The installer will be output to installer_output/QRScreenLock_Setup_1.0.0.exe.


Support the Project

If you find this useful, consider buying me a coffee!

PayPal


License

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors