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

Поділитися
Вставка
  • Опубліковано 16 жов 2024

КОМЕНТАРІ • 480

  • @Codemycom
    @Codemycom  4 роки тому +12

    ▶️ Watch Entire Tkinter Playlist ✅ Subscribe To My UA-cam 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 4 роки тому +3

      yooooooooooooooo plz say hi plz

  • @letsarray5712
    @letsarray5712 3 роки тому +45

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

    • @Codemycom
      @Codemycom  3 роки тому +3

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

    • @letsarray5712
      @letsarray5712 3 роки тому +7

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

    • @Codemycom
      @Codemycom  3 роки тому +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 3 роки тому +4

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

    • @tiffles699
      @tiffles699 2 роки тому +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 2 роки тому +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 4 роки тому +19

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

  • @IceTheCoder
    @IceTheCoder Рік тому +4

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

    • @Codemycom
      @Codemycom  Рік тому +1

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

  • @mrawesome7739
    @mrawesome7739 3 роки тому +7

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

    • @Codemycom
      @Codemycom  3 роки тому +4

      that's usually the case

    • @ponalvsiki2254
      @ponalvsiki2254 3 роки тому +2

      Make a modern casio fx 580 💪

    • @dragonhunter2264
      @dragonhunter2264 Рік тому

      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?

  • @LhamoID
    @LhamoID Рік тому +1

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

  • @gpecs
    @gpecs 9 місяців тому

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

  • @musabaltayy6362
    @musabaltayy6362 4 роки тому +7

    you deserve million LIKE for this chain of videos

    • @Codemycom
      @Codemycom  4 роки тому +2

      I agree, tell your friends! :-p

  • @macdonaldjuma6164
    @macdonaldjuma6164 2 роки тому +1

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

    • @Codemycom
      @Codemycom  2 роки тому

      Glad you're enjoying them!

  • @punishertvv
    @punishertvv 4 роки тому +3

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

    • @Codemycom
      @Codemycom  4 роки тому +1

      Thanks for watching!

  • @nitinjagga2841
    @nitinjagga2841 4 роки тому +1

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

  • @abdolrezamohseni9787
    @abdolrezamohseni9787 11 місяців тому

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

    • @Codemycom
      @Codemycom  11 місяців тому

      github.com/flatplanet/Intro-To-TKinter-UA-cam-Course

  • @Another_Look
    @Another_Look 3 роки тому +1

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

  • @wrapdoesstuff7614
    @wrapdoesstuff7614 4 роки тому +3

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

  • @karlobucic4412
    @karlobucic4412 4 роки тому +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.

  • @SomeOne-ec9zx
    @SomeOne-ec9zx 7 місяців тому

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

  • @aneeshmadhavan2903
    @aneeshmadhavan2903 Рік тому +1

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

    • @Codemycom
      @Codemycom  Рік тому

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

  • @ansh4786
    @ansh4786 2 роки тому +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

  • @janlochman1985
    @janlochman1985 Рік тому

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

    • @Codemycom
      @Codemycom  Рік тому

      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.

  • @program_brain
    @program_brain 4 роки тому

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

    • @Codemycom
      @Codemycom  4 роки тому

      no tkinter doesn’t work on android

    • @program_brain
      @program_brain 4 роки тому

      @@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.?

  • @Hawatt11
    @Hawatt11 3 роки тому

    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  3 роки тому

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

  • @ansh4786
    @ansh4786 3 роки тому +2

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

    • @Codemycom
      @Codemycom  3 роки тому +1

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

  • @umpalumpa2883
    @umpalumpa2883 4 роки тому +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  4 роки тому +5

      most of coding is googling errors

    • @texxmexxchick
      @texxmexxchick 3 роки тому

      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.

  • @iemgote7249
    @iemgote7249 Рік тому

    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  Рік тому +1

      I've got several videos on binding on the playlist

  • @lukipuki4095
    @lukipuki4095 Рік тому

    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  Рік тому

      I don't have any videos on that

  • @gpecs
    @gpecs 9 місяців тому

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

    • @Codemycom
      @Codemycom  9 місяців тому +1

      that's how all coding works

  • @elchinefa9524
    @elchinefa9524 3 роки тому

    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.

  • @atoparis
    @atoparis 3 роки тому +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 3 роки тому +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  3 роки тому

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

  • @program_brain
    @program_brain 4 роки тому

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

    • @Codemycom
      @Codemycom  4 роки тому +2

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

  • @abigailhillen-schiller3641
    @abigailhillen-schiller3641 5 років тому +4

    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 5 років тому +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 5 років тому +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 5 років тому +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 5 років тому +1

      Great tip, thanks!

    • @hector338
      @hector338 3 роки тому +1

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

  • @beast6092
    @beast6092 3 роки тому +1

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

    • @Codemycom
      @Codemycom  3 роки тому +1

      That won't work in tkinter

    • @beast6092
      @beast6092 3 роки тому +1

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

    • @Algeriawindows69
      @Algeriawindows69 Рік тому

      thats a console application

  • @jeff503pdx
    @jeff503pdx 3 роки тому

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

    • @Codemycom
      @Codemycom  3 роки тому

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

  • @Acuce7ibd468j
    @Acuce7ibd468j 4 роки тому

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

    • @Codemycom
      @Codemycom  4 роки тому +1

      Sure, but it's complicated...

  • @khizaridrees1758
    @khizaridrees1758 3 роки тому

    Does the Capital L of lambda executed by your interpreter

    • @Codemycom
      @Codemycom  3 роки тому

      No, it's a lowercase l not capital L

  • @kunxu5612
    @kunxu5612 3 роки тому

    this is also exactly what I demand. thanks.

  • @digital-artefakt
    @digital-artefakt 4 роки тому

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

    • @Codemycom
      @Codemycom  4 роки тому +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 4 роки тому

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

  • @alielharras3810
    @alielharras3810 2 роки тому +1

    what does the lambda do??

  • @kerdes_1181
    @kerdes_1181 3 роки тому

    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

  • @sourabhdeshpande2112
    @sourabhdeshpande2112 3 роки тому

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

    • @Codemycom
      @Codemycom  3 роки тому

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

  • @rexsoosan303
    @rexsoosan303 4 роки тому +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()

  • @whitedinamo
    @whitedinamo 2 роки тому

    Lesson check. Thanks.

  • @МаликаШангитова
    @МаликаШангитова 4 місяці тому

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

    • @Codemycom
      @Codemycom  4 місяці тому

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

  • @mashalmokarar4817
    @mashalmokarar4817 Рік тому

    god bless you men thanks alot ❤❤❤

  • @mindset873
    @mindset873 4 роки тому

    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  4 роки тому

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

  • @bb-ur2dk
    @bb-ur2dk 3 роки тому

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

  • @adarsht6266
    @adarsht6266 4 роки тому

    Yes it's is very nice
    Please share more videos

    • @Codemycom
      @Codemycom  4 роки тому

      I release new videos every day

    • @adarsht6266
      @adarsht6266 4 роки тому

      @@Codemycom thanks friend interesting for coding

    • @Codemycom
      @Codemycom  4 роки тому

      @@adarsht6266 no problem

    • @adarsht6266
      @adarsht6266 4 роки тому

      Can you connect with us to clarify doubts?

    • @Codemycom
      @Codemycom  4 роки тому

      @@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.

  • @shauryagoyal911
    @shauryagoyal911 4 роки тому

    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  4 роки тому

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

  • @Algeriawindows69
    @Algeriawindows69 Рік тому

    16:21 hey dude i got an error that always says "
    e.delete( 0, END)
    ^^^^^^^^
    AttributeError: 'NoneType' object has no attribute 'delete'
    "
    and even when i remove it another error pops
    " e.insert( 0, number)
    ^^^^^^^^
    AttributeError: 'NoneType' object has no attribute 'insert'"

    • @Codemycom
      @Codemycom  Рік тому

      You can't define a widget and .pack() it on the same line.

    • @Algeriawindows69
      @Algeriawindows69 Рік тому

      @@Codemycom still the same error but i think becoz i use .place()

    • @Algeriawindows69
      @Algeriawindows69 Рік тому

      @@Codemycomstill the same error "Exception in Tkinter callback
      Traceback (most recent call last):
      File "C:\Users\lenovo\AppData\Local\Programs\Python\Python311\Lib\tkinter\__init__.py", line 1948, in __call__
      return self.func(*args)
      ^^^^^^^^^^^^^^^^
      File "C:\Users\lenovo\Desktop\programs\python\balc.pyw", line 16, in
      , bg="#14151a",fg="white",command=lambda: numad(1)).grid(row=1,column=1)
      ^^^^^^^^
      File "C:\Users\lenovo\Desktop\programs\python\balc.pyw", line 12, in numad
      e.delete( 0, END)
      ^^^^^^^^
      AttributeError: 'NoneType' object has no attribute 'delete'"

    • @Codemycom
      @Codemycom  Рік тому

      @@Algeriawindows69 yeah you can't .pack() or .grid() or .place() whatever you used to place the widget, on the same line that you defined the widget.

  • @johannesberger8641
    @johannesberger8641 4 роки тому

    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  4 роки тому +2

      whatever floats your boat

    • @realityfirst5585
      @realityfirst5585 3 місяці тому

      @@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!

  • @OrlandoGabriel2010
    @OrlandoGabriel2010 5 років тому +3

    Great work

  • @Samuel-yh5lh
    @Samuel-yh5lh 3 роки тому

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

  • @rockleejj123
    @rockleejj123 5 років тому +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.

    • @Codemycom
      @Codemycom  5 років тому

      shouldn't be any spaces after your padys and commands

    • @parthpatel8192
      @parthpatel8192 4 роки тому

      no its cause u used () in commands

    • @nassudekanal4230
      @nassudekanal4230 2 роки тому

      you cant use parentheses

  • @leannebourque
    @leannebourque 4 роки тому +4

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

    • @leannebourque
      @leannebourque 4 роки тому +4

      Nevermind, i spelled it wrong, lol

    • @Codemycom
      @Codemycom  4 роки тому +4

      @@leannebourque was just gonna say that lol

    • @anti.com_john
      @anti.com_john 4 роки тому

      from tkinter import *
      ^^^
      Use this

  • @ravinduabeygunasekara833
    @ravinduabeygunasekara833 4 роки тому

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

  • @nucleartesla
    @nucleartesla 4 роки тому

    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  4 роки тому

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

  • @crossfarm4146
    @crossfarm4146 4 роки тому

    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  4 роки тому +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.

  • @mostafatud12
    @mostafatud12 3 роки тому

    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  3 роки тому

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

  • @jamesh6224
    @jamesh6224 4 роки тому +1

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

    • @Codemycom
      @Codemycom  4 роки тому

      Weird...double check your code...

    • @jamesh6224
      @jamesh6224 4 роки тому

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

    • @Codemycom
      @Codemycom  4 роки тому

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

    • @Hyvexx
      @Hyvexx 4 роки тому +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 3 роки тому

      @@Hyvexx You are a LIFESAVER!

  • @developershub4339
    @developershub4339 3 роки тому

    how do you save the calculator built as an app.

    • @Codemycom
      @Codemycom  3 роки тому

      I have a video on making exe files in the playlist

  • @christianh2890
    @christianh2890 4 роки тому

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

    • @Codemycom
      @Codemycom  4 роки тому

      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

  • @rodrigopharazz
    @rodrigopharazz 10 місяців тому

    Thank You🙏

  • @sarahlewis7859
    @sarahlewis7859 4 роки тому

    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  4 роки тому

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

    • @mrawesome7739
      @mrawesome7739 3 роки тому

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

  • @leifleoden5464
    @leifleoden5464 3 роки тому

    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  3 роки тому

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

  • @toinduino503
    @toinduino503 4 роки тому

    estou gostando muito das aulas parabens profesor

    • @Codemycom
      @Codemycom  4 роки тому

      Glad you're enjoying them!

  • @yuvithegreat3878
    @yuvithegreat3878 4 роки тому

    I am using .place() to place the entry and buttons but it is END is not defined. Can u help Me?

  • @Harish-ou4dy
    @Harish-ou4dy 4 роки тому +3

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

    • @Codemycom
      @Codemycom  4 роки тому +1

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

    • @ichabodsescape1885
      @ichabodsescape1885 4 роки тому

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

    • @Codemycom
      @Codemycom  4 роки тому

      @@ichabodsescape1885 Yeah, I hate that sublime does that

    • @KodiLearn
      @KodiLearn 4 роки тому +2

      Use PyCharm. 😀

  • @doandoan8728
    @doandoan8728 4 роки тому

    I am getting error with this code. Please help me
    File "", line 11
    button_1=Button(root, text="1",padx=40,pady=20, command=Lambda:button_click(1))
    ^
    SyntaxError: invalid syntax

    • @Codemycom
      @Codemycom  4 роки тому

      the L in lambda needs to be lowercase

  • @sadibouthioye6016
    @sadibouthioye6016 Рік тому

    i love this

  • @mariogamer587
    @mariogamer587 4 роки тому +2

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

    • @Codemycom
      @Codemycom  4 роки тому +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 4 роки тому +1

      @@Codemycom Ty I'll try that :]

    • @mariogamer587
      @mariogamer587 4 роки тому +1

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

    • @Codemycom
      @Codemycom  4 роки тому +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 4 роки тому +1

      @@Codemycom ok ty I added it through settings😊

  • @sunilkjha3638
    @sunilkjha3638 4 роки тому

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

    • @Codemycom
      @Codemycom  4 роки тому +2

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

    • @sunilkjha3638
      @sunilkjha3638 4 роки тому

      @@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  4 роки тому +1

      @@sunilkjha3638 Basically, yes

  • @tor6953
    @tor6953 10 місяців тому

    Thank you

  • @gustavbrolin623
    @gustavbrolin623 4 роки тому

    How did you open your program?

    • @Codemycom
      @Codemycom  4 роки тому

      What do you mean? Open what?

  • @brianmoreira7578
    @brianmoreira7578 4 роки тому

    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 4 роки тому

      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 4 роки тому

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

    • @Codemycom
      @Codemycom  4 роки тому

      yep

    • @guyincognito5614
      @guyincognito5614 3 роки тому

      omg, thank god.
      Edit: having the same problem

  • @fonzyurriquia8640
    @fonzyurriquia8640 4 роки тому

    i use the "lambda" and when i run it, the terminal says "Syntax Error: Invalid Syntax". What do i need to do?

    • @Codemycom
      @Codemycom  4 роки тому +1

      lowercase l in lambda

    • @fonzyurriquia8640
      @fonzyurriquia8640 4 роки тому

      @@Codemycom thank you. you're the best

    • @Codemycom
      @Codemycom  4 роки тому

      @@fonzyurriquia8640 you’re welcome

  • @محمدزهران-ك3ط
    @محمدزهران-ك3ط 4 роки тому

    you are a great man

  • @matthewtam1145
    @matthewtam1145 3 роки тому

    Please help...
    button_1 = Button(root, text="1", padx=30, pady=25, command=Lambda: button_click(1), font=number_font)
    ^
    SyntaxError: invalid syntax

    • @matthewtam1145
      @matthewtam1145 3 роки тому

      nvm, the "Lambda" should not be capitalized. So its "lambda", NOT "Lambda"

  • @nientranai1669
    @nientranai1669 2 роки тому

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

  • @deepanshumohan7777
    @deepanshumohan7777 4 роки тому

    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  4 роки тому

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

    • @deepanshumohan7777
      @deepanshumohan7777 4 роки тому

      @@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  4 роки тому

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

  • @shukkkursabzaliev1730
    @shukkkursabzaliev1730 4 роки тому +2

    Amazing

  • @rezwanzakaria1754
    @rezwanzakaria1754 4 роки тому

    when I press any button I get type error: 'Button' object is not callable. Please help me out. I'm stuck

    • @Codemycom
      @Codemycom  4 роки тому

      What are you doing differently in your code than me?

    • @rubebeyl3747
      @rubebeyl3747 3 роки тому

      Maybe you imported _tkinter instead of tkinter

  • @lilshy4368
    @lilshy4368 3 роки тому

    File "c:/Program Files (x86)/Image-Line/FL Studio 12/Data/Projects/webs/main.py", line 30, in
    button_1.grid(row=3, column=0)
    File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\tkinter\__init__.py", line 2226, in grid_configure
    + self._options(cnf, kw))
    _tkinter.TclError: cannot use geometry manager grid inside . which already has slaves managed by pack
    PS C:\Program Files (x86)\Image-Line\FL Studio 12\Data\Projects\webs>
    What am I supposed to do out there?

  • @gautamkappagal
    @gautamkappagal 4 роки тому

    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  4 роки тому

      Rewatch the video and follow along exactly.

    • @_KaranRajS
      @_KaranRajS 2 роки тому

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

  • @2noiembrie83
    @2noiembrie83 Рік тому

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

    • @Codemycom
      @Codemycom  Рік тому +1

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

  • @adebolaokanlawonsaseyi6655
    @adebolaokanlawonsaseyi6655 4 роки тому

    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  4 роки тому

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

    • @adebolaokanlawonsaseyi6655
      @adebolaokanlawonsaseyi6655 4 роки тому

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

    • @Codemycom
      @Codemycom  4 роки тому +1

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

    • @adebolaokanlawonsaseyi6655
      @adebolaokanlawonsaseyi6655 4 роки тому

      @@Codemycom Thank you, it worked.

    • @Codemycom
      @Codemycom  4 роки тому

      @@adebolaokanlawonsaseyi6655 sweet

  • @themeow6190
    @themeow6190 3 роки тому

    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 3 роки тому +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 3 роки тому

      @@zeyadabbood8401 Bless you

  • @rexsoosan303
    @rexsoosan303 4 роки тому

    is there anything wrong. number is not coming on the entry screen

    • @Codemycom
      @Codemycom  4 роки тому

      probably...check your code :-p

  • @21no.8john9
    @21no.8john9 Рік тому

    i wonder about lambda function , i never see to use function outside and use inside lambda , can anyone tell me how it work

    • @Codemycom
      @Codemycom  Рік тому

      Sorry, I don't know what you're asking

    • @21no.8john9
      @21no.8john9 Рік тому

      @@Codemycom sorry it's not clear I just beginner I always use lambda like this
      x = lambda a: a + 10
      print(x(5))
      And I see you take the function and use inside lambda

    • @Codemycom
      @Codemycom  Рік тому +1

      @@21no.8john9 tkinter uses lambdas slightly differently.

  • @cookie-hg2ic
    @cookie-hg2ic 4 роки тому +3

    I kept getting the same error but figured out where i buggered up.
    i kept receiving this message: "TypeError: 'Button' object is not callable"
    this was because i skipped the step where you renamed the button function, from 'button_add' to 'button_click'.
    at the time I thought the name change was just an aesthetic preference.
    which caused a problem with another line where a button was named 'button_add' (the button planned for
    i didn't notice the problem because the name was buried with the equals and clear buttons,
    thought id mention my troubles in case somebody else stumbles on the same stump

    • @Codemycom
      @Codemycom  4 роки тому

      Coolio

    • @therealdoc
      @therealdoc 4 роки тому

      Glad I found this comment. Was wondering how I fucked up and now I know where.

  • @mohammadsakil4050
    @mohammadsakil4050 4 роки тому

    Nice video

  • @yeuduongtamhuong
    @yeuduongtamhuong Рік тому

    width and padx button, how different?

    • @Codemycom
      @Codemycom  Рік тому

      one changes the width, and the other adds padding

  • @nassudekanal4230
    @nassudekanal4230 2 роки тому

    it says that "Lambda is not defined" What Should i do?

    • @Codemycom
      @Codemycom  2 роки тому

      lambda needs to be spelled with a lowercase l not uppercase

  • @RinksRides
    @RinksRides 4 роки тому +5

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

    • @Codemycom
      @Codemycom  4 роки тому +2

      Life is risk! lol

    • @Mkz32
      @Mkz32 4 роки тому +1

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

    • @Codemycom
      @Codemycom  4 роки тому

      @@Mkz32 too funny!

  • @njbtechs
    @njbtechs 3 роки тому

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

    • @Codemycom
      @Codemycom  3 роки тому

      I do in the playlist already

  • @ykbroadcast5967
    @ykbroadcast5967 3 роки тому

    super!!! Thanks a Lot..

  • @Hotwire_RCTrix
    @Hotwire_RCTrix 7 місяців тому

    So the bloody font doesn't vary from Lambda to lambda. Waste of 30 minutes.
    So could you please explain want this does, now that it's used up time. I would have thought calling a command would have also included parameters, which deserves an explanation.

    • @Codemycom
      @Codemycom  7 місяців тому

      Huh? Tkinter requires lambda to pass paramaters to functions...that's all. (and yes the font varies, try it to see l and L look different)

    • @Hotwire_RCTrix
      @Hotwire_RCTrix 7 місяців тому

      @@Codemycom The font used in your editor is different for inbuilt objects than the one used in my editor. So I can't compare. I'm sure most of the alpha numeric characters in this font are distinguishable from upper to lower case but the L is hard to pick.
      I think case sensitivity in programming languages is an unnecessary source of errors. But that's just me.👍

  • @johnpro2847
    @johnpro2847 5 років тому +1

    Thanks great help ..

  • @rexsoosan303
    @rexsoosan303 4 роки тому +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 4 роки тому

      have same problem

    • @sambosa56
      @sambosa56 4 роки тому

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

  • @themadmagic5019
    @themadmagic5019 Рік тому

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

  • @wizamaulana6362
    @wizamaulana6362 4 роки тому +1

    I got problem on "From tkinter import *"
    it shows 100 problem at "From"

    • @wizamaulana6362
      @wizamaulana6362 4 роки тому

      unused import wildcard stuff...

    • @Codemycom
      @Codemycom  4 роки тому

      @@wizamaulana6362 Sounds like you got a warning, not an error.

    • @wizamaulana6362
      @wizamaulana6362 4 роки тому

      @@Codemycom its okay, i disable the linter