Maths-Tutor-QT-V2 is a desktop-based mathematics learning application built using PyQt5. It provides interactive math practice with text-to-speech, keyboard-first navigation, and multiple learning modes, with a strong focus on accessibility.
-
Multiple modes:
- โก Quickplay
- ๐ฎ Game Mode
- ๐ Learning Mode
-
Question categories:
- Story
- Time
- Currency
- Distance
- Bell Ring (audio-based counting)
- Arithmetic operations (Addition, Subtraction, Multiplication, Division, Percentage)
-
Multiple difficulty levels
-
Randomized question generation
-
Excel-based custom question upload
- Text-to-Speech using pyttsx3
- Keyboard-only navigation
- Audio feedback for questions and actions
- Screen-reader friendly UI elements
- English
- Hindi (เคนเคฟเคเคฆเฅ)
- Malayalam (เดฎเดฒเดฏเดพเดณเด)
- Tamil (เฎคเฎฎเฎฟเฎดเฏ)
- Arabic (ุนุฑุจู)
- Sanskrit (เคธเคเคธเฅเคเฅเคค)
(Language selectable at startup and via settings)
Follow these steps to set up and run Maths-Tutor-QT-V2 on your local machine.
Download the application source code to your computer:
git clone https://github.com/Devikavr24/Maths-Tutor-QT-V2.git
cd Maths-Tutor-QT-V2Prerequisites:
- Windows 10 or later
- Python 3.8+ (Ensure "Add Python to PATH" is checked during installation)
Installation Steps:
- Open a terminal (Command Prompt or PowerShell) in the project folder.
- Install the required Python dependencies:
pip install -r requirements.txt
- (Optional but Recommended) Install the offline TTS engine for robust language support:
- Download and run the installer from the eSpeak-NG Releases Page.
Running the Application:
python main.py| Prerequisite | Purpose |
|---|---|
espeak-ng |
TTS engine โ called directly via subprocess on Linux |
python3-pyqt5 |
Qt5 GUI framework (can be installed via pip or system package) |
# 1. Update package list
sudo apt update
# 2. Install system dependencies
sudo apt install python3 python3-pip espeak-ng python3-pyqt5
# 3. Clone the repo
git clone https://github.com/Zendalona/Maths-Tutor-QT-V2.git
cd Maths-Tutor-QT-V2
# 4. Install Python packages
pip install -r requirements.txt
# 5. Run the application
python3 main.py# 1. Install system dependencies
sudo dnf install python3 python3-pip espeak-ng python3-qt5
# 2. Clone the repo
git clone https://github.com/Zendalona/Maths-Tutor-QT-V2.git
cd Maths-Tutor-QT-V2
# 3. Install Python packages
pip install -r requirements.txt
# 4. Run the application
python3 main.py# 1. Install system dependencies
sudo pacman -S python python-pip espeak-ng python-pyqt5
# 2. Clone the repo
git clone https://github.com/Zendalona/Maths-Tutor-QT-V2.git
cd Maths-Tutor-QT-V2
# 3. Install Python packages
pip install -r requirements.txt
# 4. Run the application
python main.py# 1. Install system dependencies
sudo zypper install python3 python3-pip espeak-ng python3-qt5
# 2. Clone the repo
git clone https://github.com/Zendalona/Maths-Tutor-QT-V2.git
cd Maths-Tutor-QT-V2
# 3. Install Python packages
pip install -r requirements.txt
# 4. Run the application
python3 main.py-
Language selection dialog (optional โRemember my selectionโ)
-
Mode selection:
- Quickplay
- Game Mode
- Learning Mode
-
Choose difficulty or section
-
Answer questions using the keyboard
For quick navigation and control, you can use the following keyboard shortcuts:
| Shortcut | Action |
|---|---|
Ctrl + R |
Repeat current question |
Ctrl + ; |
Decrease speech speed / Re-read slower |
Alt + ; |
Increase speech speed |
Ctrl + Q |
Quit Application |
Escape |
Cancel / Close Dialog (in menus) |
- Background music with mute/unmute toggle
- Sound effects for UI interactions
- Light and Dark theme toggle
- Theme updates applied dynamically
Maths-Tutor-QT-V2/
โโโ main.py
โโโ pages/
โ โโโ shared_ui.py
โ โโโ ques_functions.py
โโโ question/
โ โโโ loader.py
โโโ tts/
โ โโโ tts_worker.py
โโโ language/
โ โโโ language.py
โโโ styles/
โ โโโ app.qss
โ โโโ main_window.qss
โ โโโ language_dialog.qss
โโโ sounds/
โโโ images/
โโโ assets/
โโโ README.md
- Upload Excel files via the Settings menu
- Questions are processed using the question loader
- Allows extending content without modifying code
Accessible from within the application:
- Difficulty level
- Language selection
- Theme toggle
All changes apply instantly.
- UI refreshes dynamically when language changes
- Text-to-Speech is stopped and reset on navigation
- Background music handled via
QMediaPlayer - Modular page-loading architecture
Contributions are welcome.
Guidelines:
- Do not break accessibility
- Maintain keyboard navigation
- Avoid hard-coded language strings
- Test TTS before submitting changes
If you no longer need Maths Tutor, you can remove it using the steps below.
If you cloned the repository and ran it locally, the application is not installed system-wide.
- Navigate to the folder where you cloned the project
- Delete the
Maths-Tutor-QT-V2folder
rmdir /s /q Maths-Tutor-QT-V2This project is licensed under the GNU General Public License v3.0.