Вопрос задан 27.11.2023 в 21:09. Предмет Информатика. Спрашивает Гавриш Лев.

Як написати калькулятор на Python з допомогою PyQt5

0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Сохина Маша.

import sys

from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QGridLayout, QLineEdit, QSizePolicy, QSpacerItem

from PyQt5.QtCore import Qt

class Calc(QWidget):

   def __init__(self):

       super().__init__()

       self.setWindowTitle('Калькулятор')

       self.setFixedSize(400, 400)

       self.initUI()

   def initUI(self):

       self.display = QLineEdit(self)

       self.display.setReadOnly(True)

       self.display.setAlignment(Qt.AlignRight)

       self.display.setFixedHeight(50)

       self.display.setStyleSheet('font-size: 20px;')

       self.buttons = {}

       grid = QGridLayout()

       grid.addWidget(self.display, 0, 0, 1, 4)

       buttons = ['7', '8', '9', '/', 'C',

                  '4', '5', '6', '*', '',

                  '1', '2', '3', '-', '',

                  '0', '.', '=', '+', '']

       row = 1

       col = 0

       for button in buttons:

           if col > 3:

               col = 0

               row += 1

           if button == '':

               spacer = QSpacerItem(20, 20, QSizePolicy.Expanding, QSizePolicy.Expanding)

               grid.addItem(spacer, row, col, 1, 1)

               col += 1

               continue

           self.buttons[button] = QPushButton(button)

           self.buttons[button].setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)

           self.buttons[button].setStyleSheet('font-size: 25px;')

           self.buttons[button].clicked.connect(self.button_clicked)

           grid.addWidget(self.buttons[button], row, col, 1, 1)

           col += 1

       self.setLayout(grid)

   def button_clicked(self):

       button = self.sender()

       text = self.display.text()

       if button.text() == 'C':

           self.display.clear()

       elif button.text() == '=':

           try:

               result = eval(text)

               self.display.setText(str(result))

           except SyntaxError:

               self.display.setText('Error!')

       else:

           self.display.setText(text + button.text())

if __name__ == '__main__':

   app = QApplication(sys.argv)

   calc = Calc()

   calc.show()

   sys.exit(app.exec_())

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Написання калькулятора на Python з використанням PyQt5 включає в себе кілька кроків. PyQt5 - це бібліотека для створення графічних інтерфейсів користувача на мові програмування Python. Я розгляну декілька кроків, які потрібно виконати для створення простого калькулятора.

1. Встановлення PyQt5: Перш за все, вам потрібно встановити бібліотеку PyQt5. Ви можете це зробити за допомогою pip:

```bash pip install PyQt5 ```

2. Створення файлу з кодом: Створіть новий файл Python, наприклад, `calculator.py`, і введіть наступний код:

```python import sys from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QLineEdit

class Calculator(QWidget): def __init__(self): super().__init__()

self.init_ui()

def init_ui(self): # Створюємо елементи інтерфейсу self.display = QLineEdit(self) self.display.setFixedHeight(50)

buttons = [ '7', '8', '9', '/', '4', '5', '6', '*', '1', '2', '3', '-', '0', '.', '=', '+' ]

grid_layout = QVBoxLayout(self) grid_layout.addWidget(self.display)

# Створюємо кнопки та розміщуємо їх на інтерфейсі for i in range(4): row_layout = QVBoxLayout() for j in range(4): btn = QPushButton(buttons[i * 4 + j], self) btn.clicked.connect(self.on_click) row_layout.addWidget(btn) grid_layout.addLayout(row_layout)

self.setLayout(grid_layout)

self.setGeometry(300, 300, 300, 400) self.setWindowTitle('Calculator') self.show()

def on_click(self): # Обробка натискання кнопок button = self.sender() current_text = self.display.text()

if button.text() == '=': try: result = eval(current_text) self.display.setText(str(result)) except Exception as e: self.display.setText('Error') else: self.display.setText(current_text + button.text())

if __name__ == '__main__': app = QApplication(sys.argv) calc = Calculator() sys.exit(app.exec_()) ```

3. Запуск програми: Збережіть файл і запустіть його за допомогою командного рядка або терміналу:

```bash python calculator.py ```

З'явиться вікно калькулятора з простим інтерфейсом.

Цей код створює простий калькулятор з графічним інтерфейсом за допомогою PyQt5. Коли користувач натискає кнопки, введені значення відображаються на дисплеї, і при натисканні кнопки "=" виводиться результат обчислень. Зверніть увагу, що це лише базовий калькулятор, і його можна розширити або модифікувати відповідно до ваших потреб.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос