Учим Python Kivy #3 - Пишем калькулятор

Учим Python Kivy #3 — Пишем калькулятор



Разрабатываем простейший калькулятор на Python Kivy с полученными знаниями.
В уроке будем использовать BoxLayout, GridLayout, а также познакомимся с виджетом Label.

👊🏼 Наш 🆅🅺:
👊🏼 Наш 🆃🅶 чат:
👊🏼 Наше YT сообщество:

🤞🏼 Понравился урок?
Подпишись 👑
Вруби уведомления 🔔
Поставь лайк 👍🏼
Оставь комментарий 💬

🆇 Ссылки из видео 🆇
𝟭:

🎮 Подумываешь прикупить себе игру? 😉
Лучшие цены 💰 на игры Steam 🎮 и рандомы 🎲 только здесь —

🎬 Реклама у нас:

💵 Реквизиты для донатства (WebMoney) 💵
R250434217196
Z252920168434
U415267612522

💗 Музыкальный трек предоставлен YouTube Audio Library.

Композиция «Laid Back Guitars» принадлежит исполнителю Kevin MacLeod. Лицензия: Creative Commons Attribution (
Оригинальная версия:
Исполнитель:

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

27 комментариев для “Учим Python Kivy #3 — Пишем калькулятор

  1. def clean(self, instance):

    self.fm="0"
    не работает хелп, хотел очистить как на клавиатуре кнопка AC

  2. Спасибо за урок. На пустое место добавил кнопочку "С", которая обнуляет индикатор )

    def reset (self, instance):

    self.formula = "0"

    self.update_label()

  3. Подскажите кто нить плиз… Как сделать чтобы при делении на 0 выдавало ошибку на инд-ре?

  4. *Всем привет, я нашел хорошый курс по изучению програмирования на Python. Он действительно очень хороший но причина в том что он платный его стоимость 5 000 рублей. И мне как и многим из вас хочется его выучить. Но нет денег на этот курс. если кто желает научиться програмировать на Питоне то это курс очень подойдет. Если ктонибудь купит этот курс он будет весить 9 гигабайт( И если вам не будет сложно скините ссылку на ваш файл, Я безумно хочу выучить это язык програмирования но деньги не позволяют) Сайт называется Михаил Русаков изучение програмирования на Python. Спасибо что дочитал до конца.
    И если не сложно то поставь лайк чтобы те кто хочет выучить этот язык увидели это комментарий. СПАСИБО*

  5. Вопрос: Хауди когда я писал код то столкнулся с проблемой. Первая у меня Label не сверху а под кнопками как это исправить.

  6. Хауди, можно вопрос? Можно ли делать похожие проекты на pydroid 3???

  7. Нет смысла смотреть если вы не знаете Kivy, писать код в слух для себя для других зрелище оооо.

  8. Гдеееееееееееееееееее точно такойже калькулятор но на простоооооооооооооооом питонеееееее[еее

  9. А как сделать именно такой красивый калькулятор, а не получившееся убожество?

  10. File "bbh.py", line 16, in update_label

    self.lbl.text = self.formula

    AttributeError: 'calcuiatorApp' object has no attribute 'lbl'
    помогите плз

  11. Код до 18:00
    from kivy.app import App
    from kivy.uix.button import Button
    from kivy.uix.widget import Widget
    from kivy.uix.label import Label
    from kivy.uix.gridlayout import GridLayout
    from kivy.uix.boxlayout import BoxLayout
    from kivy.config import Config
    Config.set('graphics', 'resizable', 0)
    Config.set('graphics', 'width', 330)
    Config.set('graphics', 'height', 500)

    class CalculatorApp(App):
    def build(self):
    bl = BoxLayout(orientation = 'vertical', padding = 12)
    gl = GridLayout(cols = 4, spacing = 3, size_hint = (1, .6))
    self.lbl = Label(text = "012345", font_size = 50, halign = "right", valign = "center", size_hint = (1, .4), text_size = (330 — 24, 500 * .4 — 24))
    bl.add_widget( self.lbl )
    gl.add_widget(Button(text = "7"))
    gl.add_widget(Button(text = "8"))
    gl.add_widget(Button(text = "9"))
    gl.add_widget(Button(text = "x"))
    gl.add_widget(Button(text = "4"))
    gl.add_widget(Button(text = "5"))
    gl.add_widget(Button(text = "6"))
    gl.add_widget(Button(text = "-"))
    gl.add_widget(Button(text = "1"))
    gl.add_widget(Button(text = "2"))
    gl.add_widget(Button(text = "3"))
    gl.add_widget(Button(text = "+"))
    gl.add_widget(Widget())
    gl.add_widget(Button(text = "0"))
    gl.add_widget(Button(text = "."))
    gl.add_widget(Button(text = "="))
    bl.add_widget(gl)
    return bl
    if _name_ == "__main__":
    CalculatorApp().run()

  12. кто знает можно ли сжать этот код в апк файл и скачать на телефон как обычное приложение

  13. Очень важно иметь под рукой человека уже разбирающегося в нужном для тебя направлении или языке. Это кратно ускорит твой рост — несколько месяцев вместо двух лет. Подробнее см. https://barprog.ru

  14. Какой же питон "простой". Всё так просто и понятно и легко! (сарказм)

  15. from kivy.app import App

    from kivy.uix.button import Button

    from kivy.uix.widget import Widget

    from kivy.uix.label import Label

    from kivy.uix.gridlayout import GridLayout

    from kivy.uix.boxlayout import BoxLayout

    from kivy.config import Config

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

    Config.set('graphics', 'width', 500)

    Config.set('graphics', 'height', 500)

    class CalculatorApp(App):

    def update_label(self):

    self.lbl.text = self.formula

    def add_number(self,instance):

    if( self.formula == "0" ):

    self.formula = ""

    self.formula += str(instance.text)

    self.update_label()

    def add_operation(self,instance):

    if( str(instance.text).lower() == "x" ):

    self.formula += "*"

    else:

    self.formula += str(instance.text)

    self.update_label()

    def calc_result(self, instance):

    self.lbl.text = str(eval(self.lbl.text))

    self.formula = "0"

    def build(self):

    self.formula = "0"

    bl = BoxLayout(orientation = 'vertical', padding=25)

    gl = GridLayout(cols = 4, spacing=3, size_hint = (1, .6))

    self.lbl = Label(text="0", font_size = 40, haling="right", valign="center", size_hint = (1, .4), text_size=(400 — 50, 500* .4 — 50))

    bl.add_widget( self.lbl )

    gl.add_widget( Button(text='7', on_press = self.add_number) )

    gl.add_widget( Button(text='8', on_press = self.add_number) )

    gl.add_widget( Button(text='9', on_press = self.add_number) )

    gl.add_widget( Button(text='X', on_press = self.add_operation) )

    gl.add_widget( Button(text='4', on_press = self.add_number) )

    gl.add_widget( Button(text='5', on_press = self.add_number) )

    gl.add_widget( Button(text='6', on_press = self.add_number) )

    gl.add_widget( Button(text='-', on_press = self.add_operation) )

    gl.add_widget( Button(text='1', on_press = self.add_number) )

    gl.add_widget( Button(text='2', on_press = self.add_number) )

    gl.add_widget( Button(text='3', on_press = self.add_number) )

    gl.add_widget( Button(text='+', on_press = self.add_operation) )

    gl.add_widget( Widget() )

    gl.add_widget( Button(text='0', on_press = self.add_number) )

    gl.add_widget( Button(text='.', on_press = self.add_operation) )

    gl.add_widget( Button(text='=', on_press = self.add_operation) )

    bl.add_widget( gl )

    return bl

    if _name_ == "__main__":

    CalculatorApp().run()

    вот код кому лень 🙂

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

%d такие блоггеры, как: