A simple desktop quiz application built with Python and Tkinter. Create, manage, and test yourself with custom quiz questions.
- ✅ Create Questions: Add questions with 4 answer choices (A, B, C, D)
- ✅ Test Mode: Take randomized quizzes and get instant feedback
- ✅ Explanations: See detailed explanations for correct/incorrect answers
- ✅ Import/Export: Share question sets via JSON files
- ✅ Persistent Storage: Questions saved automatically in JSON format
- ✅ Score Tracking: Get percentage scores and performance grades
- ✅ No Console Window: Runs cleanly without black console window
- Python 3.6 or higher
- tkinter (usually included with Python)
- No additional packages required!
-
Install Python
- Download from python.org
⚠️ Important: Check "Add Python to PATH" during installation⚠️ Important: Keep default options (includes Tkinter)
-
Download the project
Option A: Download ZIP
- Click the green "Code" button above
- Select "Download ZIP"
- Extract to your desired location
Option B: Git Clone
git clone https://github.com/andrejsboka/quiz-manager.git
cd quiz-manager-
Run the application
Simply double-click
quiz_app.pyw✅ No console window will appear - just the quiz app!
Alternative methods:
# From command line (if you want to see error messages)
python quiz_app.pyw
# Or explicitly use pythonw
pythonw quiz_app.pyw- Install Python (if not already installed)
brew install python3- Download the project
git clone https://github.com/andrejsboka/quiz-manager.git
cd quiz-manager- Run the application
# Double-click quiz_app.pyw in Finder
# Or from terminal:
python3 quiz_app.pyw- Install Python and Tkinter
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install python3 python3-tk
# Fedora
sudo dnf install python3 python3-tkinter- Download the project
git clone https://github.com/andrejsboka/quiz-manager.git
cd quiz-manager- Run the application
python3 quiz_app.pywThe .pyw extension is used for Python GUI applications on Windows:
- ✅ Runs without showing a console/terminal window
- ✅ Cleaner user experience
- ✅ Same as
.pybut launches withpythonw.exeinstead ofpython.exe
Note: On macOS and Linux, .pyw files work the same as .py files.
- Click "Add New Question"
- Enter your question text
- Fill in 4 answer choices (A, B, C, D)
- Select the correct answer
- Provide an explanation
- Click "Save Question"
- Click "Start Test"
- Answer each question by selecting A, B, C, or D
- Click "Submit Answer" to see if you're correct
- Read the explanation
- Continue to the next question
- View your final score!
- Import: Click "Import Questions" and select a JSON file
- Export: Click "Export Questions" to save your question bank
Questions are stored in questions_database.json:
[
{
"question": "What is the capital of France?",
"answers": [
"London",
"Berlin",
"Paris",
"Madrid"
],
"correct": 2,
"explanation": "Paris is the capital of France. It's located in the north-central part of the country."
}
]correct: 0 = A, 1 = B, 2 = C, 3 = D
A sample question set is included in sample_questions.json. Import it to get started!
Windows/macOS: Tkinter should be included. Reinstall Python with default options.
Linux:
sudo apt-get install python3-tkCheck Python installation:
python --versionManual run to see errors:
# This will show any error messages
python quiz_app.pywFile association issue (Windows):
- Right-click
quiz_app.pyw - "Open with" → "Choose another app"
- Select Python (or browse to
C:\Python3X\pythonw.exe) - Check "Always use this app"
This shouldn't happen with .pyw, but if it does:
- Make sure the file extension is
.pywnot.py - Run with:
pythonw quiz_app.pyw
- Make sure you have write permissions in the folder
- The file
questions_database.jsonwill be created automatically in the same folder
When you run the app, it creates:
questions_database.json- Your question bank (saved automatically)
This file is in the same folder as quiz_app.pyw.
- Right-click on
quiz_app.pyw - Select "Create shortcut"
- Drag the shortcut to your Desktop
- (Optional) Right-click shortcut → Properties → Change Icon
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
Your Name
- GitHub: @andrejsboka
- Built with Python and Tkinter
- Inspired by the need for simple, offline quiz tools
- Uses
.pywfor cleaner Windows GUI experience
### 3️⃣ **LICENSE** (same as before)
MIT License
Copyright (c) 2026 Andrejs Boka
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
### 4️⃣ **sample_questions.json** (same as before)
### 5️⃣ **.gitignore** (updated)
pycache/ *.py[cod] *$py.class *.so .Python
venv/ env/ ENV/
questions_database.json
*.bak *~
.vscode/ .idea/ *.swp *.swo
.DS_Store Thumbs.db desktop.ini
### 6️⃣ **requirements.txt**
