🧮 Как сделать калькулятор в Python PyQt5 | Пошаговое руководство 🐍

Как сделать калькулятор в Python с использованием PyQt5?

Для создания калькулятора в Python с использованием библиотеки PyQt5, вам понадобится выполнить следующие шаги:

  1. Установите PyQt5, если еще не установлено, с помощью команды pip install pyqt5.
  2. Импортируйте необходимые модули:

from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout, QLineEdit, QPushButton
from PyQt5.QtCore import Qt
  1. Создайте класс для главного окна приложения:

class CalculatorWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Калькулятор")
        self.setFixedSize(300, 400)
        
        # Добавьте здесь необходимые виджеты и компоновщики
       
        # Создайте экземпляр вашего класса и запустите приложение
        app = QApplication([])
        calculator_window = CalculatorWindow()
        calculator_window.show()
        app.exec_()
  1. Добавьте необходимые виджеты и компоновщики в окно:

class CalculatorWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Калькулятор")
        self.setFixedSize(300, 400)
        
        # Создайте виджеты и компоновщики
        layout = QVBoxLayout()
        
        line_edit = QLineEdit()
        layout.addWidget(line_edit)
        
        button_layout = QHBoxLayout()
        buttons = [
            ("7", self.on_button_click),
            ("8", self.on_button_click),
            ("9", self.on_button_click),
            ("/", self.on_button_click),
            ("4", self.on_button_click),
            ("5", self.on_button_click),
            ("6", self.on_button_click),
            ("*", self.on_button_click),
            ("1", self.on_button_click),
            ("2", self.on_button_click),
            ("3", self.on_button_click),
            ("-", self.on_button_click),
            ("0", self.on_button_click),
            (".", self.on_button_click),
            ("=", self.on_button_click),
            ("+", self.on_button_click),
        ]
        
        for btn_text, btn_callback in buttons:
            button = QPushButton(btn_text)
            button.clicked.connect(btn_callback)
            button_layout.addWidget(button)
        
        layout.addLayout(button_layout)
        
        widget = QWidget()
        widget.setLayout(layout)
        self.setCentralWidget(widget)
        
    def on_button_click(self):
        # Добавьте обработчик события щелчка по кнопке
        pass
  1. Реализуйте обработчик для события щелчка по кнопке:

class CalculatorWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        # ... остальной код окна, как указано выше ...
        
    def on_button_click(self):
        button = self.sender()
        clicked_button_text = button.text()
        
        if clicked_button_text == "=":
            try:
                result = eval(self.line_edit.text())
                self.line_edit.setText(str(result))
            except Exception:
                self.line_edit.setText("Ошибка")
        else:
            current_text = self.line_edit.text()
            new_text = current_text + clicked_button_text
            self.line_edit.setText(new_text)

И это все! Теперь вы можете запустить свою программу, и у вас будет калькулятор на основе PyQt5 в Python.

Детальный ответ

Как сделать калькулятор в Python с использованием PyQt5

Добро пожаловать в эту подробную статью о том, как создать калькулятор с помощью языка программирования Python и библиотеки PyQt5. Мы изучим каждый шаг этого процесса и предоставим вам примеры кода, чтобы вам было легче понять и реализовать свой собственный калькулятор, используя PyQt5.

Шаг 1: Установка библиотеки PyQt5

Первым шагом необходимо установить библиотеку PyQt5. Вы можете установить ее, выполнив следующую команду в командной строке:

pip install pyqt5

Шаг 2: Создание основного окна приложения

Далее, давайте создадим основное окно нашего калькулятора. Создайте новый файл с расширением ".py" и добавьте следующий код:

import sys
from PyQt5.QtWidgets import QApplication, QWidget

class CalculatorApp(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setGeometry(100, 100, 300, 200)
        self.setWindowTitle('Калькулятор')
        self.show()

app = QApplication(sys.argv)
calculator = CalculatorApp()
sys.exit(app.exec_())

В этом коде мы создаем класс CalculatorApp, унаследованный от класса QWidget. Мы также определяем метод initUI, который настраивает размеры и заголовок окна. Мы затем создаем экземпляр этого класса и запускаем приложение.

Шаг 3: Добавление виджетов для калькулятора

Теперь, когда у нас есть основное окно, давайте добавим виджеты для отображения кнопок и ввода/вывода нашего калькулятора. Вставьте следующий код в метод initUI:

from PyQt5.QtWidgets import QVBoxLayout, QGridLayout, QLineEdit, QPushButton

class CalculatorApp(QWidget):
    def __init__(self):
        # ...
        self.initUI()

    def initUI(self):
        # ...
        layout = QVBoxLayout()
        self.setLayout(layout)

        # Создание поля ввода
        self.input_field = QLineEdit()
        layout.addWidget(self.input_field)

        # Создание кнопок с цифрами
        digit_buttons = []
        for i in range(0, 10):
            digit_buttons.append(QPushButton(str(i)))
        grid_layout = QGridLayout()
        for i in range(0, 3):
            for j in range(0, 3):
                grid_layout.addWidget(digit_buttons[i * 3 + j], i, j)
        layout.addLayout(grid_layout)

        # Создание кнопки "="
        equal_button = QPushButton("=")
        layout.addWidget(equal_button)
        
        self.show()

app = QApplication(sys.argv)
calculator = CalculatorApp()
sys.exit(app.exec_())

В этом коде мы добавляем поле ввода, кнопки с цифрами и кнопку "=". Мы используем виджеты QLineEdit и QPushButton из библиотеки PyQt5, чтобы создать наши элементы интерфейса и добавляем их на основное окно с помощью объекта QVBoxLayout. Мы также используем QGridLayout для размещения кнопок с цифрами в сетку.

Шаг 4: Добавление функциональности к кнопкам

Теперь, когда у нас есть наше основное окно и виджеты, давайте добавим функциональность к кнопкам. Вставьте следующий код в метод initUI:

class CalculatorApp(QWidget):
    def __init__(self):
        # ...
        self.initUI()

    def initUI(self):
        # ...

        # Создаем слоты для обработки нажатий кнопок
        for button in digit_buttons:
            button.clicked.connect(self.handle_digit_button)

        equal_button.clicked.connect(self.calculate_result)

        self.show()

    def handle_digit_button(self):
        button = self.sender()
        self.input_field.setText(self.input_field.text() + button.text())

    def calculate_result(self):
        expression = self.input_field.text()
        try:
            result = eval(expression)
            self.input_field.setText(str(result))
        except:
            self.input_field.setText("Ошибка")

app = QApplication(sys.argv)
calculator = CalculatorApp()
sys.exit(app.exec_())

В этом коде мы создаем методы handle_digit_button и calculate_result, которые будут выполняться при нажатии кнопок с цифрами и кнопки "=", соответственно. В handle_digit_button мы получаем текст кнопки, на которую нажали, и добавляем его к полю ввода. В calculate_result мы получаем выражение из поля ввода, вычисляем его с помощью функции eval и отображаем результат в поле ввода. Если возникает исключение при вычислении, мы выводим сообщение об ошибке.

Шаг 5: Запуск приложения

Теперь, когда наш код готов, мы можем запустить наше приложение. Сохраните файл с расширением ".py" и запустите его с помощью команды python filename.py. Вы должны увидеть окно калькулятора с кнопками и полем ввода. Вы можете печатать числа, нажимать кнопки с цифрами и "=", чтобы увидеть результат в поле ввода.

Заключение

Поздравляю! Вы только что создали свой собственный калькулятор с помощью Python и библиотеки PyQt5. Вы изучили, как создавать основное окно приложения, добавлять виджеты и функциональность к кнопкам. Вы также узнали, как обрабатывать пользовательский ввод и отображать результаты вычислений.

Я надеюсь, что эта статья была полезной для вас и помогла вам понять, как создать калькулятор с использованием Python и PyQt5. Теперь вы можете использовать этот опыт и вашу креативность, чтобы создавать еще более сложные приложения с интерфейсом!

Видео по теме

Как написать калькулятор на Python #python #pyqt5

Простой GUI калькулятор на Python #1. Дизайн приложения

Калькулятор на Python + PYQT5

Похожие статьи:

Как еще называют плетение питон 🐍: уникальные способы вязания

🧮 Как ввести натуральный логарифм в Питоне: простой и понятный способ

🔬 Как создать простой вирус python: легкий шаг за шагом гид

🧮 Как сделать калькулятор в Python PyQt5 | Пошаговое руководство 🐍

🖼️ Как сохранить изображение в Python с помощью библиотеки image

🔍 Как создать список в Python через for: простое объяснение и примеры

🔍 Как отсортировать строку в питоне: простые способы и советы | Практическое руководство