A Robust, Stylish Calculator Powered by PyQt6
🔍 Precision meets elegance in this advanced calculator.
Developed by Amin Moniry, this application harnesses the power of PyQt6 and Python 3.12.4 to deliver a sophisticated yet intuitive tool for mathematical computations. Designed with both functionality and aesthetics in mind, it caters to a wide range of users seeking efficiency and style.
🔢 Fundamental Operations: Perform addition, subtraction, multiplication, and division with ease.
📐 Trigonometric Capabilities: Compute sine, cosine, tangent, and cotangent functions accurately.
√ Advanced Calculations: Handle square roots and exponents effortlessly.
½ Fraction Support: Input and calculate fractions seamlessly via a dedicated interface.
📜 Calculation History: Maintain and review a detailed log of past operations, with options to delete entries.
🎨 Customizable Themes: Choose from six distinct styles—Default, Forest Green, Midnight Blue, Rose Pink, Amber Glow, and Slate Gray—to suit your preference.
🖱️ Intuitive Interface: Navigate with clicks or keyboard input for a fluid user experience.
A meticulously organized structure for optimal performance:
Calculator/
│── 📁 modules/ # Core Components Directory
│ ├── 🎨 ui_elements.py # User Interface Module
│ │ └─ Constructs the graphical layout, including buttons, display, and interactive elements. Responsible for rendering the visual experience.
│ ├── ➕ calculator_logic.py # Computational Engine
│ │ └─ Executes all mathematical operations, processes inputs, and delivers precise outputs. The heart of the calculator’s logic.
│ ├── 🌈 themes.py # Theme Management
│ │ └─ Manages aesthetic customization, applying color schemes and button styles dynamically across the application.
│ ├── 📜 history.py # History Tracking
│ │ └─ Records every calculation with timestamps and provides a dedicated window for viewing and managing history entries.
│ ├── ℹ️ about.py # Information Hub
│ │ └─ Displays project metadata, including developer details and version information, in an accessible dialog.
│── ⚙️ main.py # Application Launcher
│ └─ Integrates all modules into a cohesive program, initializing the interface and coordinating functionality upon execution.
│── 📜 README.md # Documentation
│ └─ Offers a comprehensive guide to the project—welcome aboard!
Operational Flow:
- Launching
main.py
initializes the application by orchestrating module interactions. ui_elements.py
builds the interface, arranging buttons and the display for user interaction.calculator_logic.py
processes inputs—whether numbers, operators, or functions—and computes results with precision.themes.py
applies the selected visual theme, ensuring a consistent and appealing look.history.py
logs each operation, storing details like expressions and timestamps for later review.about.py
provides a quick reference to the project’s origins and creator.
Set up your calculator in three straightforward steps:
1️⃣ Clone the Repository:
git clone https://github.com/Amin-moniry-pr7/Calculator.git
cd Calculator
2️⃣ Install Dependencies:
pip install PyQt6
3️⃣ Run the Application:
python main.py
Note: Ensure the
LOGO.ico
file resides in the root directory to enable the custom window icon.
🎨 Themes: Switch between styles using an intuitive dropdown menu.
📜 History Window: Access a detailed record of calculations in a separate, user-friendly panel.
➕ Results Display: View computed outcomes prominently on the main interface.
✅ Efficiency: Rapid calculations with minimal resource usage.
✅ Flexibility: Multiple themes enhance personalization and usability.
✅ Transparency: Comprehensive history tracking for accountability and review.
✅ Modularity: Well-segmented codebase facilitates maintenance and future enhancements.
✅ User-Centric: Designed for seamless interaction, balancing power and simplicity.
🎓 Students: Ideal for tackling trigonometry, fractions, and basic math assignments.
💻 Developers: A handy tool for quick calculations during coding sessions.
📊 Professionals: Useful for on-the-fly computations in technical fields.
🎨 Enthusiasts: Perfect for those who appreciate a blend of utility and design.
🌟 Refine the user interface with additional visual polish.
🧮 Expand functionality to include complex operations like matrix computations.
🎨 Introduce new themes to broaden customization options.
🔖 Creative Commons Attribution-NonCommercial 4.0 International—free to share, but not for commercial use.
Name: Amin Moniry
Location: Tabriz, Iran
Initiated: February 22, 2025
Email: [email protected]
GitHub: github.com/Amin-moniry-pr7
⭐ Repository: https://github.com/Amin-moniry-pr7/Calculator.git
Explore its features, enjoy its elegance, and share your feedback.
Designed with care—happy calculating! 🧮✨