Build A Simple Calculator App - Python Tkinter GUI Tutorial #5

Sdílet
Vložit
  • čas přidán 26. 07. 2024
  • How to Build A Simple Calculator App with TKinter and Python. In this video we'll start to build a simple calculator app using the stuff we've learned from the previous videos.
    In this series I'll show you how to create graphical user interfaces for Python with Tkinter. TKinter comes with Python already, so there's nothing to install!
    ✅ Watch The Other Videos In This Python Playlist:
    bit.ly/2UFLKgj
    ▶️ See More At:
    Codemy.com
    ✅ Join My Facebook Group:
    bit.ly/2GFmOBz
    ✅ Subscribe To My CZcams Channel:
    bit.ly/2IGzvOR
    ▶️ Learn to Code at Codemy.com
    Take $22 off with coupon code: youtube

Komentáře • 480

  • @Codemycom
    @Codemycom  Před 4 lety +11

    ▶️ Watch Entire Tkinter Playlist ✅ Subscribe To My CZcams Channel:
    bit.ly/2UFLKgj bit.ly/2IGzvOR
    ▶️ See More At: ✅ Join My Facebook Group:
    Codemy.com bit.ly/2GFmOBz
    ▶️ Learn to Code at Codemy.com ✅ Buy a Codemy T-Shirt!
    Take $30 off with coupon code: youtube1 bit.ly/2VC9WUN

    • @magiconfire
      @magiconfire Před 4 lety +3

      yooooooooooooooo plz say hi plz

  • @letsarray5712
    @letsarray5712 Před 3 lety +42

    17:00 if you error syntax you have to replace Lambda to lambda. The syntax is worked than Lambda

    • @Codemycom
      @Codemycom  Před 3 lety +3

      Never use capital L in lambda...I don't use capital L in the video.

    • @letsarray5712
      @letsarray5712 Před 3 lety +6

      @@Codemycom yeah but i look it's large L :d

    • @Codemycom
      @Codemycom  Před 3 lety +1

      @@letsarray5712 so? the size of it doesn't matter at all, do it in the same way I showed in the video

    • @letsarray5712
      @letsarray5712 Před 3 lety +4

      @@Codemycom Oke fine that's not the big problem to me 😂

    • @tiffles699
      @tiffles699 Před 2 lety +11

      Thank you, due to the font it looks like its "L" instead of "l", I made that mistake (if using idle, lambda turns orange, Lambda does not)

  • @timmyroust
    @timmyroust Před 2 lety +11

    Great teaching ! This playlist is paced so well. I've been going in circles trying to get started with Tkinter till now. This gave me a confidence boost ! Thank you!

  • @CShand
    @CShand Před 4 lety +19

    Want to see more about making something like this that scales with resizing.

  • @IceTheCoder
    @IceTheCoder Před rokem +3

    Please continue to make videos, you are truly a great creator and help so many people like me learn to code

    • @Codemycom
      @Codemycom  Před rokem +1

      I have hundreds of videos on my channel and I create more every week.

  • @LhamoID
    @LhamoID Před rokem +1

    Hello. Its from Bhutan. This video really helped me. Kadrinchey!

  • @wrapdoesstuff7614
    @wrapdoesstuff7614 Před 4 lety +2

    thanks this video was really helpful and entertaing to both code and watch!

  • @macdonaldjuma6164
    @macdonaldjuma6164 Před rokem

    I enjoy how fun you make your lessons, 😃Thank you

  • @mrawesome7739
    @mrawesome7739 Před 3 lety +7

    I think what helps me learn this is making it my own: changing labels, adding more functions or buttons

    • @Codemycom
      @Codemycom  Před 3 lety +4

      that's usually the case

    • @ponalvsiki2254
      @ponalvsiki2254 Před 2 lety +2

      Make a modern casio fx 580 💪

    • @dragonhunter2264
      @dragonhunter2264 Před rokem

      I know this is late but what other type of functions did you add im adding some stuff too but just the division and multiplication wondering if you did anything else?

  • @SomeOne-ec9zx
    @SomeOne-ec9zx Před 5 měsíci

    It's a wow what you are doing........keep going

  • @kunxu5612
    @kunxu5612 Před 3 lety

    this is also exactly what I demand. thanks.

  • @OrlandoGabriel2010
    @OrlandoGabriel2010 Před 4 lety +3

    Great work

  • @umpalumpa2883
    @umpalumpa2883 Před 3 lety +2

    Nice video series and good explanation.
    Comment to the commentators: I no sometimes there are weird error messages but I think instead of asking here you could try to figure it out by yourself . It might take some time and can be annoying but at the end of the day you like to learn how to code by yourself and then you'll need to find solutions to upcoming issues.
    Cheers

    • @Codemycom
      @Codemycom  Před 3 lety +5

      most of coding is googling errors

    • @texxmexxchick
      @texxmexxchick Před 3 lety

      I do this to some extent. I will try any ideas I have of the top of my head, for me this is about 10 -15 mins of re-writing and testing. Once I feel like I'm out of ideas, then I'll google or ask around.

  • @johnpro2847
    @johnpro2847 Před 5 lety +1

    Thanks great help ..

  • @toinduino503
    @toinduino503 Před 4 lety

    estou gostando muito das aulas parabens profesor

  • @musabaltayy6362
    @musabaltayy6362 Před 4 lety +7

    you deserve million LIKE for this chain of videos

    • @Codemycom
      @Codemycom  Před 4 lety +2

      I agree, tell your friends! :-p

  • @Another_Look
    @Another_Look Před 3 lety +1

    17:01 What you want is e.insert("end", number)

  • @nitinjagga2841
    @nitinjagga2841 Před 4 lety +1

    You Are Very Good Teacher John Elder Please Make A Video On Doing Webscraping Using Python

  • @mashalmokarar4817
    @mashalmokarar4817 Před rokem

    god bless you men thanks alot ❤❤❤

  • @user-vk5xp8wh4e
    @user-vk5xp8wh4e Před 4 lety

    you are a great man

  • @ykbroadcast5967
    @ykbroadcast5967 Před 3 lety

    super!!! Thanks a Lot..

  • @user-ou7jn4eb1z
    @user-ou7jn4eb1z Před 5 lety

    I very like your video.

  • @shukkkursabzaliev1730
    @shukkkursabzaliev1730 Před 4 lety +2

    Amazing

  • @lukipuki4095
    @lukipuki4095 Před rokem

    Thanks for the great intro to python. Can't believe my first project worked:)
    Can you explain how to limit input to the GUI or easily exclude letters and non 'math' symbols from the keyboard please?

    • @Codemycom
      @Codemycom  Před rokem

      I don't have any videos on that

  • @rodrigopharazz
    @rodrigopharazz Před 7 měsíci

    Thank You🙏

  • @elchinefa9524
    @elchinefa9524 Před 3 lety

    Is not there a way to use for loop? By the way I gonna create a timer for PC with GUI and want to understant how i will use os. system's shutdown commands with tkinter. Of course input must be int.

  • @sadibouthioye6016
    @sadibouthioye6016 Před rokem

    i love this

  • @punishertvv
    @punishertvv Před 3 lety +3

    Thanks sir ...
    This is so simple ..i understood All the things thankyou ...
    Love from INDIA

  • @wadhaer8332
    @wadhaer8332 Před 4 lety

    Thank you

  • @whitedinamo
    @whitedinamo Před 2 lety

    Lesson check. Thanks.

  • @abigailhillen-schiller3641

    Hi John,
    Loving your TKinter tutorials so far.
    I have a question, though. I wrote this loop to create the buttons for 1-9:
    for x in range(1,4):
    y = 10-3*x
    for z in range(y, y+3):
    btn = Button(root, text=z, padx=40, pady=20,
    command=lambda: button_click(z)).grid(row=x, column=z-y)
    The buttons are rendered fine, but when I click them, they all insert the number 3 into the entry box, regardless of the number on the button.
    Changing the lambda as below solved the problem, but I don't understand why:
    lambda q=z: button_click(q)
    Can you explain it?

    • @444444444paok
      @444444444paok Před 4 lety +2

      Because you are in a loop and the lambda function you wrote has no variable i it takes the value of the last iteration. In order to fix it write your lambda like this: lambda q=z: button_click(q) which will work because q is a variable of the lambda so it changes every time you call it. Also its more pythonic to create your buttons with a list instaid of having for loops.

    • @abigailhillen-schiller3641
      @abigailhillen-schiller3641 Před 4 lety +1

      @@444444444paok Thanks for the explanation! When you say create buttons with a list, do you mean create each button on a separate line, like in the video, or using a [list]?

    • @444444444paok
      @444444444paok Před 4 lety +1

      ​@@abigailhillen-schiller3641 yeah i mean something like this: num_buttons = [Button(root, text=str(i), width=7, borderwidth=4, pady=15, padx=1, font="Calibri 15 bold", command=lambda i=i: symbol_button_pressed(i)).grid(row=str(3 - (i - 1) // 3), column=str((i - 1) % 3)) for i in range(1, 10)]

    • @abigailhillen-schiller3641
      @abigailhillen-schiller3641 Před 4 lety +1

      Great tip, thanks!

    • @hector338
      @hector338 Před 3 lety +1

      @@444444444paok That's some really clever indexing for the rows and columns, thanks for the tip.

  • @mohammadsakil4050
    @mohammadsakil4050 Před 4 lety

    Nice video

  • @themadmagic5019
    @themadmagic5019 Před rokem

    "its a program, we can build it and that should be cool"
    ~John

  • @kerdes_1181
    @kerdes_1181 Před 3 lety

    Hello Codemy how can i get an auto selection on a row in a treeview when i get a search
    when i search i want to get the result
    i try tree.selection_set(), but it can't selected row

  • @ansh4786
    @ansh4786 Před 2 lety +2

    It would be helpful for us if you write the script in the description too.
    But I like your videos.

    • @Codemycom
      @Codemycom  Před 2 lety +1

      The code is here: github.com/flatplanet/Intro-To-TKinter-CZcams-Course

  • @MajidHashemi-rt8le
    @MajidHashemi-rt8le Před 9 měsíci

    Thanks u🎉

  • @abdolrezamohseni9787
    @abdolrezamohseni9787 Před 8 měsíci

    Awesome. Great teaching. Is there any chance to have access to the written codes for each of the video?

    • @Codemycom
      @Codemycom  Před 8 měsíci

      github.com/flatplanet/Intro-To-TKinter-CZcams-Course

  • @davida6146
    @davida6146 Před 3 lety

    Wow.... this is more advanced than I need... lol

  • @karlobucic4412
    @karlobucic4412 Před 4 lety +6

    Hello from Croatia - 🇭🇷
    First, I just want to say that
    I love your videos. I think that your explaining skills are a great.
    Second - I have a question :
    I built my calculator and everything works perfect but I want to know how the Entry widget recognizes "123" as one number and not as three numbers - "1" , "2" , "3".
    Is that just how it works or what ? Because we don't need to code anything for it to do that.

  • @adarsht6266
    @adarsht6266 Před 4 lety

    Yes it's is very nice
    Please share more videos

    • @Codemycom
      @Codemycom  Před 4 lety

      I release new videos every day

    • @adarsht6266
      @adarsht6266 Před 4 lety

      @@Codemycom thanks friend interesting for coding

    • @Codemycom
      @Codemycom  Před 4 lety

      @@adarsht6266 no problem

    • @adarsht6266
      @adarsht6266 Před 4 lety

      Can you connect with us to clarify doubts?

    • @Codemycom
      @Codemycom  Před 4 lety

      @@adarsht6266 People who purchase membership to my site can ask questions about the videos and I answer them. I don't do consulting outside of my courses tho.

  • @janlochman1985
    @janlochman1985 Před 9 měsíci

    Hey, why you have placed columnspan parameter and applied it on the Entry widget? The other (button) widgets inherit it?

    • @Codemycom
      @Codemycom  Před 9 měsíci

      no they don't inherit it. We want the entry widget to span the three columns below that hold the other buttons...that's why.

  • @mahmoudmashoun5002
    @mahmoudmashoun5002 Před 4 lety

    hey john !!!! is there any way to make our python app stands alone in mobile without installing a python compiler ??? thank you

    • @Codemycom
      @Codemycom  Před 4 lety +1

      Sure, but it's complicated...

  • @johannesberger8641
    @johannesberger8641 Před 3 lety

    Imo a cleaner and (more) pythonic way of defining all the buttons is
    number_buttons = [ Button( root, text=str(i%10), padx=40, pady=20, command=(lambda j=i : button_click(j%10)) ) for i in range(1, 11)]
    Then, to put them on the grid
    for i in range(10):
    number_buttons[i].grid(row=i//3+1, column=i%3)

    • @Codemycom
      @Codemycom  Před 3 lety +2

      whatever floats your boat

    • @realityfirst5585
      @realityfirst5585 Před 20 dny

      @@Codemycom Ive been enjoying your videos until I started reading your responses. I have to say they arent very professional, Iike this one above. I hope you have grown to be more understanding in the last 3 yrs!

  • @matthewkeen6281
    @matthewkeen6281 Před 2 lety

    nice..

  • @nelsondarwinpaktech3954

    great

  • @gpecs
    @gpecs Před 7 měsíci

    Nice tutorials. Instead of running the code everytime, is there a way TK gui can automatic reload after saving in vscode?

  • @alielharras3810
    @alielharras3810 Před 2 lety +1

    what does the lambda do??

  • @chanero-u8z
    @chanero-u8z Před měsícem +2

    I just try it myself. In the end , the result is a little bad, but I have finish it.

    • @chanero-u8z
      @chanero-u8z Před měsícem

      The tutorials are very useful ❤❤❤

    • @Codemycom
      @Codemycom  Před měsícem

      Glad you enjoy them!

  • @ravinduabeygunasekara833

    what are the units of width and height that we define inside the 'root' function? Is it pixels?

  • @iemgote7249
    @iemgote7249 Před rokem

    I´ve been trying to bind the buttons to keys on the keyboard, every time it seems to just type out all the numvers and they keys don't seem to do anything. Any advice?

    • @Codemycom
      @Codemycom  Před rokem +1

      I've got several videos on binding on the playlist

  • @rockleejj123
    @rockleejj123 Před 4 lety +1

    Hi, have a problem, at 11:04
    line 25 and 26
    button_0 = Button(root, text='0', padx=40, pady = 20, command = button_add())
    button_add = Button(root, text='+', padx=40, pady = 20, command = button_add())
    seems the button_add redefine the botton_add, it caused error 'Button' object is not callable
    did I type something wrong otherwise.

  • @Hawatt11
    @Hawatt11 Před 2 lety

    I get a syntax error associated with the Lambda; based on some Stack Overflow comments this looks like it's not possible to use in Python 3? I should go try my older version of Python and see if it works there. Not sure how to get around this. OK never mind thanks, I saw your answer about lowercase L in "lambda". But YOUR screen keeps capitalizing them! At least it looks like uppercase.

    • @Codemycom
      @Codemycom  Před 2 lety

      My screen does not capitalize them lol that's what a lowercase l looks like in sublime...

  • @texxmexxchick
    @texxmexxchick Před 3 lety

    the syntax error for the lambda function got me too. I tried a few things before I remembered that comments were a thing. hurray for the comments sections.

  • @nucleartesla
    @nucleartesla Před 3 lety

    When I came to 8:47 on the video where you made the buttons my buttons where all over the place could you help

    • @Codemycom
      @Codemycom  Před 3 lety

      What did you do differently in your code? If you did what I did, you'd get the same result.

  • @beast6092
    @beast6092 Před 3 lety +1

    num1 = input("Type in the first number: ")
    num2 = input("Type in the second number: ")
    result = float(num1) + float(num2)
    print(result)

    • @Codemycom
      @Codemycom  Před 3 lety +1

      That won't work in tkinter

    • @beast6092
      @beast6092 Před 3 lety +1

      @@Codemycom Yeah, just realized it... it works in Python tho

    • @Algeriawindows69
      @Algeriawindows69 Před 10 měsíci

      thats a console application

  • @RinksRides
    @RinksRides Před 4 lety +5

    I smashed said "LIKE" button below, now my screen is broken... THANKS!

    • @Codemycom
      @Codemycom  Před 4 lety +2

      Life is risk! lol

    • @Mkz32
      @Mkz32 Před 4 lety +1

      U smashed the screen then got a syntax error anyways Good vid keep it up

    • @Codemycom
      @Codemycom  Před 4 lety

      @@Mkz32 too funny!

  • @RATANAGARWALITINFORMER

    v helpping

  • @aneeshmadhavan2903
    @aneeshmadhavan2903 Před rokem +1

    How to make the tkinter window flexible when maximizing or adjusting the size of the window?

    • @Codemycom
      @Codemycom  Před rokem

      Sorry, I don't know what you mean by flexible

  • @jamesh6224
    @jamesh6224 Před 4 lety +1

    Hello, after adding the column span I still have big gaps in-between my columns ?

    • @Codemycom
      @Codemycom  Před 4 lety

      Weird...double check your code...

    • @jamesh6224
      @jamesh6224 Před 4 lety

      @@Codemycom The gaps remain even if i make all the buttons the same size

    • @Codemycom
      @Codemycom  Před 4 lety

      @@jamesh6224 There has to be something wrong with your code, or something you aren't seeing...

    • @Hyvexx
      @Hyvexx Před 3 lety +1

      This is late but I had the problem with it too. I was on Mac and it turns out that there is a way to tell the tkinter module to move the buttons closer. Just add sticky= "nsew" to the end of all of your .grid() method (example : button_1.grid(row=3, column=0, sticky="nsew")
      stackoverflow.com/questions/45828923/remove-space-between-buttons-in-tkinter#45844991

    • @SmellyNutz
      @SmellyNutz Před 3 lety

      @@Hyvexx You are a LIFESAVER!

  • @leannebourque
    @leannebourque Před 4 lety +4

    when i execute it it says:
    ModuleNotFoundError: No module named 'tkinker'

  • @Samuel-yh5lh
    @Samuel-yh5lh Před 3 lety

    after adding the columnspan of the clear and equals button the 0 button didnt show

  • @dumidupramith3881
    @dumidupramith3881 Před 4 lety

    good

  • @crossfarm4146
    @crossfarm4146 Před 4 lety

    can you quickly explain a little more what e.insert(0,number) requires the 0? is it a boolean value of some sort?

    • @Codemycom
      @Codemycom  Před 4 lety +1

      think of a python list...they are indexed...the first index number is 0. So we want to delete from zero to some number in the box.

  • @easycodemustapha9610
    @easycodemustapha9610 Před 3 lety

    Hey thanks i need just one more weak and i done wth python by the way i dont a pc so i use pythonista ipad 4 ios : 10.3.3 34bit

  • @ansh4786
    @ansh4786 Před 2 lety +1

    I like your tutorials but i want to know that how can we make that
    First when we start a start button will be visible and when we click it the screen changes to this calculator in that screen only not in another screen
    So please tell me
    And also
    Thank You

  • @digital-artefakt
    @digital-artefakt Před 4 lety

    Hello, can you explain me why do you have to enter two arguments,like e.insert(0, number)? or (0,END)

    • @Codemycom
      @Codemycom  Před 4 lety +1

      because you can delete certain characters in the entry box..so it's a range of all the characters in the entry box

    • @digital-artefakt
      @digital-artefakt Před 4 lety

      @@Codemycom oh, it is simple logic when you put it that way. Thank you on your fast answer!

  • @sunilkjha3638
    @sunilkjha3638 Před 4 lety

    Hello John.
    What does END do in e.delete(0, END)??

    • @Codemycom
      @Codemycom  Před 4 lety +2

      Think of it as a python list...we're saying delete everything from position 0, to the END of the list.

    • @sunilkjha3638
      @sunilkjha3638 Před 4 lety

      @@Codemycom Thank you John. And is it the same in e.insert(0, number)? Does it mean that print everything from 0 to the number entered. Or am I wrong?

    • @Codemycom
      @Codemycom  Před 4 lety +1

      @@sunilkjha3638 Basically, yes

  • @sourabhdeshpande2112
    @sourabhdeshpande2112 Před 3 lety

    in before lecture after button defining we put it button.pack() why it is not put in this lecture

    • @Codemycom
      @Codemycom  Před 3 lety

      In this video we're using the .grid() system instead of .pack() grid is used when you need more precision placing your widgets.

  • @hedonistjohn6200
    @hedonistjohn6200 Před 3 lety +2

    I keep rewatching because my calculator window is way bigger that yours. My padx and pady are the same

    • @Codemycom
      @Codemycom  Před 3 lety

      did you set the size of the app differently?

    • @hedonistjohn6200
      @hedonistjohn6200 Před 3 lety

      @@Codemycom I don't see a step for sizing the window in the video. I think the main reason is I'm working on a Mac. I tried changing fg and bg colors and it would not work. I had to import tkmacosx. Which works but the layout changes when I comment it out vs use it. Thanks for the reply, hitting a walk with the next section in getting my icon to show up. I tried absolute path and relative paths.

    • @Codemycom
      @Codemycom  Před 3 lety +1

      @@hedonistjohn6200 Right at the top of the app: root.geometry("500x550") or whatever numbers you want to put in there

  • @rexsoosan303
    @rexsoosan303 Před 4 lety +1

    Exception in Tkinter callback
    Traceback (most recent call last):
    File "C:\Users\Rex\AppData\Local\Programs\Python\Python38\lib\tkinter\__init__.py", line 1883, in __call__
    return self.func(*args)
    File "G:/python/calc_gui.py", line 33, in
    button14= Button(root,text="0",padx=30,pady=30,command=lambda: Button_click(0)).grid(row=6,column=3)
    File "G:/python/calc_gui.py", line 12, in Button_click
    e.delete(0,tk.END)
    AttributeError: 'NoneType' object has no attribute 'delete'

    • @kermitsan3892
      @kermitsan3892 Před 4 lety

      have same problem

    • @sambosa56
      @sambosa56 Před 4 lety

      @@kermitsan3892 and me i thing because our version is python 3.8 but the video used older version python 3.7

  • @program_brain
    @program_brain Před 3 lety

    What is meaning for lambda?
    Why we have to use it here sir?
    I am beginner for python...

    • @Codemycom
      @Codemycom  Před 3 lety +2

      tkinter won’t allow you to pass parameters to functions with commands unless you use a lambda

  • @mariogamer587
    @mariogamer587 Před 4 lety +2

    How you run your code, I can't run my code in sublime text?? Good video!

    • @Codemycom
      @Codemycom  Před 4 lety +4

      I'm not running the code in Sublime text. I'm using the git bash terminal that I downloaded.
      git-scm.com/downloads

    • @mariogamer587
      @mariogamer587 Před 4 lety +1

      @@Codemycom Ty I'll try that :]

    • @mariogamer587
      @mariogamer587 Před 4 lety +1

      @@Codemycom I just get an error:
      $ python calculator.py
      bash: python: command not found
      any solution?

    • @Codemycom
      @Codemycom  Před 4 lety +1

      @@mariogamer587 you didn't add python to path when you installed it. Reinstall it, check the box that says add python to path.

    • @mariogamer587
      @mariogamer587 Před 4 lety +1

      @@Codemycom ok ty I added it through settings😊

  • @gustavbrolin623
    @gustavbrolin623 Před 4 lety

    How did you open your program?

  • @rexsoosan303
    @rexsoosan303 Před 4 lety +1

    from tkinter import *
    import math
    root= Tk()
    root.title("Simple Calc")
    e=Entry(root,width=40,borderwidth=5).grid(row=0,column=0,columnspan=4,padx=30,pady=10)
    def Button_click(number):
    e.delete(0,tk.END)
    e.insert(0,number)
    #defining Buttons
    button1= Button(root,text="1",padx=30,pady=30,command=lambda: Button_click(1)).grid(row=4,column=0)
    button2= Button(root,text="2",padx=30,pady=30,command=lambda: Button_click(2)).grid(row=4,column=1)
    button3= Button(root,text="3",padx=30,pady=30,command=lambda: Button_click(3)).grid(row=4,column=2)
    button4= Button(root,text="4",padx=30,pady=30,command=lambda: Button_click(4)).grid(row=5,column=0)
    button5= Button(root,text="5",padx=30,pady=30,command=lambda: Button_click(5)).grid(row=5,column=1)
    button6= Button(root,text="6",padx=30,pady=30,command=lambda: Button_click(6)).grid(row=5,column=2)
    button7= Button(root,text="7",padx=30,pady=30,command=lambda: Button_click(7)).grid(row=6,column=0)
    button8= Button(root,text="8",padx=30,pady=30,command=lambda: Button_click(8)).grid(row=6,column=1)
    button9= Button(root,text="9",padx=30,pady=30,command=lambda: Button_click(9)).grid(row=6,column=2)
    button10= Button(root,text="+",padx=30,pady=30,command=lambda: Button_click()).grid(row=4,column=3)
    button11= Button(root,text="-",padx=30,pady=30,command=lambda: Button_click()).grid(row=5,column=3)
    button12= Button(root,text="*",padx=30,pady=30,command=lambda: Button_click()).grid(row=5,column=4)
    button13= Button(root,text="/",padx=30,pady=30,command=lambda: Button_click()).grid(row=4,column=4)
    button14= Button(root,text="0",padx=30,pady=30,command=lambda: Button_click(0)).grid(row=6,column=3)
    button15= Button(root,text=".",padx=30,pady=30,command=lambda: Button_click()).grid(row=6,column=4)
    button16= Button(root,text="Enter",padx=60,pady=20,command=lambda: Button_click()).grid(row=7,column=0,columnspan=2)
    button17= Button(root,text="Clear",padx=60,pady=20,command=lambda: Button_click()).grid(row=7,column=2,columnspan=2)
    root.mainloop()

  • @_storm4963
    @_storm4963 Před 2 lety

    Hey, could anyone please guide me to how to runs these functions(-,+,/,*) with 3 integers, using Tkinter. Thanks!!!

  • @atoparis
    @atoparis Před 3 lety +1

    I am stuck with this... went through the whole list of comments but still have the issue:
    butt_1 = Button(root, text="1", padx=40, pady=20, command=lambda: butt_click(1))
    However when I click the button it says object not callable

    • @atoparis
      @atoparis Před 3 lety +1

      oh I see my error... I had a button named butt_click later in the code... fixed... leaving the comment in case it helps anyone

    • @Codemycom
      @Codemycom  Před 3 lety

      @@atoparis Also, you can't padx and pady in the same place you defined the button.

  • @bb-ur2dk
    @bb-ur2dk Před 3 lety

    we are using padx= 50 or 60 some number what is the number i mean units 50mm of 50 spaces

  • @shauryagoyal911
    @shauryagoyal911 Před 4 lety

    i am getting this error
    Exception in Tkinter callback
    Traceback (most recent call last):
    File "C:\Users\GEETIKA\AppData\Local\Programs\Python\Python37\lib\tkinter\__init__.py", line 1705, in __call__
    return self.func(*args)
    File "D:\tkinter\Project 1 - Calculator.py", line 38, in
    button_8 = Button(root, text = "8", padx=40, pady=20, command = lambda: button_click(8))
    TypeError: button_click() takes 0 positional arguments but 1 was given
    pls tell

    • @Codemycom
      @Codemycom  Před 4 lety

      You're passing 8 into your button_click function. Does your button_click function code accept arguments?

  • @Harish-ou4dy
    @Harish-ou4dy Před 4 lety +3

    in my computer Lambda gave syntax error, lambda with small l works though

    • @Codemycom
      @Codemycom  Před 4 lety +1

      Yeah, it's never supposed to be capital L in lambda. I do lowercase in the video.

    • @ichabodsescape1885
      @ichabodsescape1885 Před 4 lety

      @@Codemycom It got me too the video looks like upper case L

    • @Codemycom
      @Codemycom  Před 4 lety

      @@ichabodsescape1885 Yeah, I hate that sublime does that

    • @KodiLearn
      @KodiLearn Před 4 lety +2

      Use PyCharm. 😀

  • @khizaridrees1758
    @khizaridrees1758 Před 3 lety

    Does the Capital L of lambda executed by your interpreter

    • @Codemycom
      @Codemycom  Před 3 lety

      No, it's a lowercase l not capital L

  • @2noiembrie83
    @2noiembrie83 Před rokem

    For python 3.10, with pycharm, in Ubuntu, it's lambda instead of Lambda.

    • @Codemycom
      @Codemycom  Před rokem +1

      it's lowercase in the video too. I know it looks uppercase, but that's lower.

  • @developershub4339
    @developershub4339 Před 3 lety

    how do you save the calculator built as an app.

    • @Codemycom
      @Codemycom  Před 3 lety

      I have a video on making exe files in the playlist

  • @user-mj5jd1ix8d
    @user-mj5jd1ix8d Před měsícem

    Hi, I have SyntaxError: positional argument follows keyword argument. why

    • @Codemycom
      @Codemycom  Před měsícem

      Because you typed the code wrong... compare it to the video to discover what you did differently.

  • @gautamkappagal
    @gautamkappagal Před 3 lety

    Hello sir! Thanks for the video, very helpful.
    I've encountered a problem. Before this, I tried the 'Click Me!' Box. Even after copying down the entire same thing of the calculator code, I still get the 'Enter your name' and 'Click Me!' box. How do I change that? Please help me.

    • @Codemycom
      @Codemycom  Před 3 lety

      Rewatch the video and follow along exactly.

    • @_KaranRajS
      @_KaranRajS Před 2 lety

      I think u have run the previous file. Check the file and run or else mistake in code

  • @nientranai1669
    @nientranai1669 Před 2 lety

    how do you know to set the padx of "=" is 91 ???

  • @christianh2890
    @christianh2890 Před 4 lety

    Can anyone explain why lambda should be used? Why can I not just call button_click function with the correct number?

    • @Codemycom
      @Codemycom  Před 4 lety

      Try it and see. Tkinter doesn't allow you to pass things through a command, but it does allow it if you use a lambda

  • @themeow6190
    @themeow6190 Před 3 lety

    hey, for some reason when i try to do the e.get, it says there is no attribute called get, can you plez help me

    • @zeyadabbood8401
      @zeyadabbood8401 Před 3 lety +1

      do the grid in a new line and it will solve the problem. for example:
      e = Entry(root)
      e.grid(row=0, column=0)
      instead of
      e = Entry (root).grid(row=0, column=0)

    • @fisherman23gp
      @fisherman23gp Před 3 lety

      @@zeyadabbood8401 Bless you

  • @jeff503pdx
    @jeff503pdx Před 2 lety

    Looks nice but how to stylize the calculator?(colors/shapes/etc..)

    • @Codemycom
      @Codemycom  Před 2 lety

      In the normal tkinter way...check my playlist.

  • @leifleoden5464
    @leifleoden5464 Před 3 lety

    What version of python is everyone using? I'm using 3.9.2 and getting the following error:
    button_1 = Button(root, text="1", padx=40, pady=20, command=Lambda: button_click(1))
    ^
    SyntaxError: invalid syntax

    • @Codemycom
      @Codemycom  Před 3 lety

      The version is irrelevant. The l in lambda needs to be lowercase

  • @gpecs
    @gpecs Před 7 měsíci

    why is tkinter gui not loading automatically why do i need to re-run it everytime i make changes.

    • @Codemycom
      @Codemycom  Před 7 měsíci +1

      that's how all coding works

  • @program_brain
    @program_brain Před 3 lety

    It's possible to excute the program in android phone sir.? What is name of the app sir?

    • @Codemycom
      @Codemycom  Před 3 lety

      no tkinter doesn’t work on android

    • @program_brain
      @program_brain Před 3 lety

      @@Codemycom thanks for reply sir.
      But my idea is to create android app using python. is there any idea to do that sir.
      What i have learn for that.?

  • @brianmoreira7578
    @brianmoreira7578 Před 3 lety

    16:30 when I use lambda the GUI launches but when I click a number I get an error
    TypeError: 'Button' object is not callable
    I don't understand cus I'm using lamda the same way he is.
    Please help!😥

    • @brianmoreira7578
      @brianmoreira7578 Před 3 lety

      I think it's because I've named my Button button1.
      I've noticed I have no error when I name it btn1 or button_1(like he did).
      Really wish he would've said something lol.
      But I'm going to see what happens when I change the rest of the Code.

    • @brianmoreira7578
      @brianmoreira7578 Před 3 lety

      Yea that was it.
      The Button cannot be named 'button1' or 'button' or 'Button'

    • @Codemycom
      @Codemycom  Před 3 lety

      yep

    • @guyincognito5614
      @guyincognito5614 Před 3 lety

      omg, thank god.
      Edit: having the same problem

  • @mostafatud12
    @mostafatud12 Před 3 lety

    hi, i wrote the code exactly as the tutorial but it have me this:
    button_3=Button(root,text="3",padx=40,pady=20,command=lambda:button_click(3))
    TypeError: 'Button' object is not callable

    • @Codemycom
      @Codemycom  Před 3 lety

      that's not exactly as the tutorial at all. You can't padx and pady where you define the button.

  • @njbtechs
    @njbtechs Před 3 lety

    Please show us how to the entry widget bigger because it's too small

  • @sarahlewis7859
    @sarahlewis7859 Před 3 lety

    I've done the code the same as you have but whenever i click on a number button it says "TypeError: button_click() takes 0 positional argument but 1 was given" I have no idea what this means please help o_o

    • @Codemycom
      @Codemycom  Před 3 lety

      then you haven't done the code the same as me. Check for typos...

    • @mrawesome7739
      @mrawesome7739 Před 3 lety

      When you originally defined button click, you probably didn't put anything between the parenthesis. The correct code should be
      def button_click(number):

  • @mindset873
    @mindset873 Před 4 lety

    How can I subscribe only 27 $ to be accessible to all online courses. Please show me how. I visited the site but did not see it in front of computer screen.

    • @Codemycom
      @Codemycom  Před 4 lety

      codemy.com/membership-account/membership-checkout/?level=1
      Add the coupon code and click the apply button

  • @AugusSousa
    @AugusSousa Před 5 lety

    Hi, I have a problem with "e.delete(0, END)" says "END is not defined". :(

    • @Codemycom
      @Codemycom  Před 5 lety

      weird...try e.delete(0, tk.END)
      also...is the 0 a zero? Or did you type a capital O letter?

    • @AugusSousa
      @AugusSousa Před 5 lety

      @@Codemycom thanks for replying, I typed zero, and the "tk.END" solved the problem, thanks a lot. Nice video btw.

    • @Codemycom
      @Codemycom  Před 5 lety

      @@AugusSousa oh cool, glad it worked!

  • @adebolaokanlawonsaseyi6655

    Hello, how do i increase the height of the calculator screen. It seems i can only adjust the width?. I tried increasing the height and got the following error:
    tkinter.TclError: unknown option "-height"

    • @Codemycom
      @Codemycom  Před 4 lety

      Do you mean the entry box? You increase the font size: font=("Helvetica", 20)

    • @adebolaokanlawonsaseyi6655
      @adebolaokanlawonsaseyi6655 Před 4 lety

      @@Codemycom yes entry box, would ("Arial" 20) also work?

    • @Codemycom
      @Codemycom  Před 4 lety +1

      @@adebolaokanlawonsaseyi6655 Try it and see. You could have just tried it faster than it took to ask me.

    • @adebolaokanlawonsaseyi6655
      @adebolaokanlawonsaseyi6655 Před 4 lety

      @@Codemycom Thank you, it worked.

    • @Codemycom
      @Codemycom  Před 4 lety

      @@adebolaokanlawonsaseyi6655 sweet

  • @deepanshumohan7777
    @deepanshumohan7777 Před 4 lety

    I am facing issue while entering a new number with result already present in the input box (concatenation issue). How to resolve it?

    • @Codemycom
      @Codemycom  Před 4 lety

      Without knowing what you are doing or what your code is, I can't guess.

    • @deepanshumohan7777
      @deepanshumohan7777 Před 4 lety

      @@Codemycom I am working on Simple calculator. Whenever I type a new number, it gets concatenated with the previous result instead of clearing it.

    • @Codemycom
      @Codemycom  Před 4 lety

      @@deepanshumohan7777 My answer to you doesn't change...

  • @3uz
    @3uz Před 3 lety +1

    ( share done ) (: