Рубрики

Как сделать калькулятор используя кивы | питон

Kivy — это независимый от платформы инструмент GUI в Python. Так как он может быть запущен на Android, IOS, Linux, Windows и т. Д. Он в основном используется для разработки приложения Android, но это не означает, что его нельзя использовать в приложениях для настольных ПК.

В этой статье мы узнаем, как сделать простой калькулятор с помощью Kivy.

Prerequisites:

1) Basic knowledge of Mathematics
2) Python
3) Kivy
4) Widgets and code understanding of kivy

Basic approach to make A calculator:

1) import kivy
2) import kivyApp
3) import Gridlayout
4) import config(to configure/adjust the window size)
5) Set minimum version(optional)
6) Create Layout class :
      define Calculator function in it
         : In this i am using try-catch because if any arithmetic 
            exception occur it will through the error  

7) create App class
8) create .kv file (name same as the app class):
        1) create buttons
        2) Add the style to the buttons
        3) Add fuctionalties of the button 
9) return Layout/widget/Class(according to requirement)
10) Run an instance of the class

Реализация подхода:

main.py

# Программа для создания калькулятора

    
# Программа, чтобы показать, как создать переключатель
# импорт кивый модуль

import kivy  

       
# Базовый класс вашего приложения наследуется от класса приложения.
# app: всегда ссылается на экземпляр вашего приложения

from kivy.app import App 

     
# это ограничивает kivy версию т.е.
# ниже этой версии вы не можете
# использовать приложение или программное обеспечение

kivy.require('1.9.0'

  
# для создания нескольких bttons для организации
# их мы используем это

from kivy.uix.gridlayout import GridLayout

  
# для размера окна

from kivy.config import Config

  
# Установка размера для изменения размера

Config.set('graphics', 'resizable', 1)

## Config.set ('graphics', 'width', '400')
## Config.set ('graphics', 'height', '400')

  

  
# Создание класса Layout

class CalcGridLayout(GridLayout):

   

    # Функция вызывается при нажатии equals

    def calculate(self, calculation):

        if calculation:

            try:

                # Решить формулу и отобразить ее в записи

                # на который указывает дисплей

                self.display.text = str(eval(calculation))

            except Exception:

                self.display.text = "Error"

   

 # Создание класса приложения

class CalculatorApp(App):

   

    def build(self):

        return CalcGridLayout()

   
# создание объекта и запуск его

calcApp = CalculatorApp()

calcApp.run()

  

calculator.kv

# Пользовательская кнопка
<CustButton@Button>:

    font_size: 32

   
# Определить идентификатор, чтобы я мог ссылаться на CalcGridLayout
# функции класса
# Отображение указывает на виджет ввода
<CalcGridLayout>:

    id: calculator

    display: entry

    rows: 6

    padding: 10

    spacing: 10

  

      

   

    # Где отображается ввод

    BoxLayout:

        TextInput:

            id: entry

            font_size: 32

            multiline: False

   

    # При нажатии кнопок обновите запись

    BoxLayout:

        spacing: 10

        CustButton:

            text: "7"

            on_press: entry.text += self.text

        CustButton:

            text: "8"

            on_press: entry.text += self.text

        CustButton:

            text: "9"

            on_press: entry.text += self.text

        CustButton:

            text: "+"

            on_press: entry.text += self.text

   

    BoxLayout:

        spacing: 10

        CustButton:

            text: "4"

            on_press: entry.text += self.text

        CustButton:

            text: "5"

            on_press: entry.text += self.text

        CustButton:

            text: "6"

            on_press: entry.text += self.text

        CustButton:

            text: "-"

            on_press: entry.text += self.text

   

    BoxLayout:

        spacing: 10

        CustButton:

            text: "1"

            on_press: entry.text += self.text

        CustButton:

            text: "2"

            on_press: entry.text += self.text

        CustButton:

            text: "3"

            on_press: entry.text += self.text

        CustButton:

            text: "*"

            on_press: entry.text += self.text

   

    # При нажатии equals передать текст в записи

    # к функции вычисления

    BoxLayout:

        spacing: 10

        CustButton:

            text: "AC"

            on_press: entry.text = ""

        CustButton:

            text: "0"

            on_press: entry.text += self.text

        CustButton:

            text: "="

            on_press: calculator.calculate(entry.text)

        CustButton:

            text: "/"

            on_press: entry.text += self.text

    BoxLayout:

        CustButton:

            font_size: 20

            text: "Scientific calculator"

            on_press: entry.text = ""        

Выход:

Рекомендуемые посты:

Как сделать калькулятор используя кивы | питон

0.00 (0%) 0 votes