Zaawansowana aplikacja do generowania i odczytywania kodów QR napisana w C++ z użyciem biblioteki Qt.
- URL - generowanie kodów QR dla adresów internetowych
- Tekst - kodowanie dowolnego tekstu w kodzie QR
- Kontakt - tworzenie vCard z danymi kontaktowymi
- WiFi - generowanie kodów QR dla sieci WiFi z zarządzaniem zapisanymi sieciami
- Wczytywanie z plików obrazów
- Skanowanie przy użyciu kamery
- Odczyt z zrzutu ekranu
- Analiza i formatowanie wyników
- Zapisywanie kodów QR jako obrazy PNG
- Kopiowanie danych do schowka
- Szyfrowane przechowywanie haseł WiFi
- Intuicyjny interfejs użytkownika
- 🐧 Linux (Ubuntu, Debian, Arch, Fedora, CentOS)
- 🪟 Windows 10/11 (Visual Studio 2019) - Zobacz instrukcje dla Windows
- 🍎 macOS (wkrótce)
- Qt6 (Core, Widgets, Gui, LinguistTools)
- libqrencode - do generowania kodów QR
- OpenCV - do odczytywania kodów QR z obrazów i kamery
- cmake 3.16+ - system budowania
- g++ / MSVC / clang - kompilator C++17
Dla Windows: Zobacz szczegółowe instrukcje w README_WINDOWS.md
# Instalacja zależności
sudo apt update
sudo apt install qt6-base-dev qt6-tools-dev libqrencode-dev
sudo apt install libopencv-dev cmake build-essential
sudo apt install pkg-config
# Klonowanie i kompilacja
git clone <repository-url>
cd qr-generator-project
mkdir build && cd build
cmake ..
make
# Uruchomienie
./bin/qr-generator# Instalacja zależności
sudo pacman -S qt6-base qt6-tools qrencode opencv cmake
sudo pacman -S pkgconf gcc
# Kompilacja
mkdir build && cd build
cmake ..
make
# Uruchomienie
./bin/qr-generator# Instalacja zależności
sudo dnf install qt6-qtbase-devel qrencode-devel opencv-devel
sudo dnf install cmake gcc-c++ pkgconfig
# Kompilacja
mkdir build && cd build
cmake ..
make
# Uruchomienie
./bin/qr-generator-
Pobierz wymagane zależności (patrz sekcja instalacji wyżej)
-
Sklonuj repozytorium:
git clone <repository-url> cd qr-generator-project
-
Skompiluj projekt:
mkdir build cd build cmake .. make -j$(nproc)
-
Uruchom aplikację:
./bin/qr-generator
-
URL:
- Przejdź do zakładki "URL"
- Wprowadź adres strony internetowej
- Kod QR zostanie automatycznie wygenerowany
-
Tekst:
- Wybierz zakładkę "Tekst"
- Wpisz dowolny tekst w pole tekstowe
- Kod QR pojawi się automatycznie
-
Kontakt:
- Przejdź do "Kontakt"
- Wypełnij pola z danymi kontaktowymi
- Aplikacja wygeneruje vCard w kodzie QR
-
WiFi:
- Wybierz zakładkę "WiFi"
- Wprowadź dane sieci (SSID, hasło, typ zabezpieczeń)
- Opcjonalnie zapisz sieć dla przyszłego użytku
- Wygeneruj kod QR do łatwego udostępniania WiFi
-
Z pliku:
- Przejdź do zakładki "Czytnik QR"
- Kliknij "Wczytaj z pliku"
- Wybierz obraz zawierający kod QR
-
Z kamery:
- Kliknij "Użyj kamery"
- Skieruj kamerę na kod QR
- Aplikacja automatycznie odczyta kod
-
Z ekranu:
- Kliknij "Zrzut ekranu"
- Aplikacja zrobi zrzut ekranu i znajdzie kod QR
- Zapisywanie obrazów: Kliknij "Zapisz PNG" aby zapisać kod QR jako obraz
- Kopiowanie: Użyj "Kopiuj" aby skopiować dane do schowka
- Zarządzanie WiFi: Zapisuj, wczytuj i usuwaj sieci WiFi w zakładce WiFi
qr-generator-project/
├── CMakeLists.txt # Konfiguracja CMake
├── README.md # Ten plik
├── include/
│ └── qrgenerator.h # Definicje klasy
├── src/
│ ├── main.cpp # Punkt wejścia aplikacji
│ ├── qrgenerator.cpp # Konstruktor i destruktor
│ ├── ui_setup.cpp # Ustawianie interfejsu użytkownika
│ ├── qr_generation.cpp # Generowanie kodów QR
│ ├── wifi_handler.cpp # Obsługa sieci WiFi
│ ├── qr_reader.cpp # Odczytywanie kodów QR
│ └── utils.cpp # Funkcje pomocnicze
└── build/ # Katalog kompilacji (tworzony automatycznie)
- Hasła WiFi są szyfrowane przed zapisaniem do pliku
- Używane jest szyfrowanie XOR z kluczem bazowanym na systemie
- Pliki konfiguracyjne są zapisywane w standardowej lokalizacji użytkownika
-
Brak Qt6:
# Ubuntu/Debian sudo apt install qt6-base-dev qt6-tools-dev # Arch Linux sudo pacman -S qt6-base qt6-tools
-
Brak OpenCV:
# Ubuntu/Debian sudo apt install libopencv-dev # Arch Linux sudo pacman -S opencv
-
Brak qrencode:
# Ubuntu/Debian sudo apt install libqrencode-dev # Arch Linux sudo pacman -S qrencode
- Sprawdź czy kamera nie jest używana przez inną aplikację
- Na niektórych systemach może być potrzebne dodanie użytkownika do grupy
video - Sprawdź uprawnienia dostępu do urządzenia
/dev/video0
Ten projekt jest udostępniony na licencji MIT. Zobacz plik LICENSE dla szczegółów.
Aplikacja została stworzona na podstawie specyfikacji generatora kodów QR w C++ Qt.
W przypadku znalezienia błędów lub problemów, prosimy o utworzenie issue w repozytorium projektu.
Planowane funkcjonalności:
- Więcej formatów eksportu (SVG, PDF)
- Zaawansowane opcje stylizacji kodów QR
- Wsparcie dla kodów Data Matrix i innych formatów
- Tryb wsadowego przetwarzania
- Integracja z usługami chmurowymi