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

Поделиться
HTML-код
  • Опубликовано: 23 ноя 2024

Комментарии • 482

  • @Codemycom
    @Codemycom  4 года назад +13

    ▶️ Watch Entire Tkinter Playlist ✅ Subscribe To My RUclips 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 года назад +47

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

    • @Codemycom
      @Codemycom  3 года назад +4

      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 года назад +12

      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 5 лет назад +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!

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

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

  • @musabaltayy6362
    @musabaltayy6362 4 года назад +7

    you deserve million LIKE for this chain of videos

    • @Codemycom
      @Codemycom  4 года назад +1

      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!

  • @Another_Look
    @Another_Look 3 года назад +1

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

  • @SomeOne-ec9zx
    @SomeOne-ec9zx 9 месяцев назад

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

  • @wrapdoesstuff7614
    @wrapdoesstuff7614 4 года назад +3

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

  • @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-RUclips-Course

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

    • @trininite
      @trininite 4 года назад +1

      no, python will see it as a string

    • @sulekedelai8564
      @sulekedelai8564 4 года назад

      Hello From Indonesia

  • @abdolrezamohseni9787
    @abdolrezamohseni9787 Год назад

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

    • @Codemycom
      @Codemycom  Год назад

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

  • @rexsoosan303
    @rexsoosan303 5 лет назад +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()

  • @themadmagic5019
    @themadmagic5019 Год назад

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

  • @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 4 месяца назад

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

  • @kunxu5612
    @kunxu5612 3 года назад

    this is also exactly what I demand. thanks.

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

  • @chanero-u8z
    @chanero-u8z 5 месяцев назад +2

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

    • @chanero-u8z
      @chanero-u8z 5 месяцев назад

      The tutorials are very useful ❤❤❤

    • @Codemycom
      @Codemycom  5 месяцев назад

      Glad you enjoy them!

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

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

  • @toinduino503
    @toinduino503 4 года назад

    estou gostando muito das aulas parabens profesor

    • @Codemycom
      @Codemycom  4 года назад

      Glad you're enjoying them!

  • @gpecs
    @gpecs 11 месяцев назад

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

  • @mashalmokarar4817
    @mashalmokarar4817 Год назад

    god bless you men thanks alot ❤❤❤

  • @ansh4786
    @ansh4786 3 года назад +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

    • @Codemycom
      @Codemycom  3 года назад +1

      Use frames or tabs

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

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

    • @user-ft4mz3ez1c
      @user-ft4mz3ez1c 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

      @@user-ft4mz3ez1c 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]?

    • @user-ft4mz3ez1c
      @user-ft4mz3ez1c 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

      @@user-ft4mz3ez1c That's some really clever indexing for the rows and columns, thanks for the tip.

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

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

  • @OrlandoGabriel2010
    @OrlandoGabriel2010 5 лет назад +3

    Great work

  • @sadibouthioye6016
    @sadibouthioye6016 Год назад

    i love this

  • @محمدزهران-ك3ط
    @محمدزهران-ك3ط 4 года назад

    you are a great man

  • @elchinefa9524
    @elchinefa9524 4 года назад

    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.

  • @rexsoosan303
    @rexsoosan303 5 лет назад +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

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

  • @davida6146
    @davida6146 4 года назад

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

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

  • @whitedinamo
    @whitedinamo 2 года назад

    Lesson check. Thanks.

  • @rodrigopharazz
    @rodrigopharazz 11 месяцев назад

    Thank You🙏

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

  • @akramelomrani8728
    @akramelomrani8728 4 года назад

    for those who have END is not defined replace it with 'end'

  • @hedonistjohn6200
    @hedonistjohn6200 3 года назад +2

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

    • @Codemycom
      @Codemycom  3 года назад

      did you set the size of the app differently?

    • @hedonistjohn6200
      @hedonistjohn6200 3 года назад

      @@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  3 года назад +1

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

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

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

  • @ykbroadcast5967
    @ykbroadcast5967 4 года назад

    super!!! Thanks a Lot..

  • @shukkkursabzaliev1730
    @shukkkursabzaliev1730 5 лет назад +2

    Amazing

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

  • @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😊

  • @mohammadsakil4050
    @mohammadsakil4050 4 года назад

    Nice video

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

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

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

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

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

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

  • @johnpro2847
    @johnpro2847 5 лет назад +1

    Thanks great help ..

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

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

  • @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 4 года назад

      @@Hyvexx You are a LIFESAVER!

  • @gpecs
    @gpecs 11 месяцев назад

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

    • @Codemycom
      @Codemycom  11 месяцев назад +1

      that's how all coding works

  • @Samuel-yh5lh
    @Samuel-yh5lh 3 года назад

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

  • @數學只考6級分
    @數學只考6級分 5 лет назад

    I very like your video.

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

  • @ravinduabeygunasekara833
    @ravinduabeygunasekara833 5 лет назад

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

  • @МаликаШангитова
    @МаликаШангитова 5 месяцев назад

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

    • @Codemycom
      @Codemycom  5 месяцев назад

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

  • @sourabhdeshpande2112
    @sourabhdeshpande2112 4 года назад

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

    • @Codemycom
      @Codemycom  4 года назад

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

  • @wadhaer8332
    @wadhaer8332 4 года назад

    Thank you

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

  • @MajidHashemi-rt8le
    @MajidHashemi-rt8le Год назад

    Thanks u🎉

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

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

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

  • @easycodemustapha9610
    @easycodemustapha9610 3 года назад

    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

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

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

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

  • @gustavbrolin623
    @gustavbrolin623 4 года назад

    How did you open your program?

    • @Codemycom
      @Codemycom  4 года назад

      What do you mean? Open what?

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

  • @matthewkeen6281
    @matthewkeen6281 2 года назад

    nice..

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

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

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

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

  • @yuvithegreat3878
    @yuvithegreat3878 4 года назад

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

    • @Codemycom
      @Codemycom  4 года назад

      I never use place

    • @yuvithegreat3878
      @yuvithegreat3878 4 года назад

      @@Codemycom Ok. Il try to use .grid() method.

    • @Codemycom
      @Codemycom  4 года назад

      @@yuvithegreat3878 cool

  • @_storm4963
    @_storm4963 2 года назад

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

  • @bithisarkar1412
    @bithisarkar1412 4 года назад

    The grid method is very inefficient in arranging widgets. The place method is more efficient.

    • @Codemycom
      @Codemycom  4 года назад +2

      efficiency is relative. It may be more efficient for what you want to do, but not for most things.

    • @bithisarkar1412
      @bithisarkar1412 4 года назад

      @@Codemycom Hey, thanks for replying! I have found a simpler function for adding numbers into the field -
      def button_number(x):
      e.insert(len(e.get()), str(x))
      Note: e is the Entry field.
      I understand that you said that you did whatever came to your mind but I just wanted to bring this up.

    • @Codemycom
      @Codemycom  4 года назад +1

      Whatever floats your boat.

    • @durachill731
      @durachill731 2 года назад

      @@bithisarkar1412, I'm new to programming and advance functions that are difficult to understand is that last thing that I need.

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

  • @nelsondarwinpaktech3954
    @nelsondarwinpaktech3954 4 года назад

    great

  • @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):

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

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

  • @nientranai1669
    @nientranai1669 2 года назад

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

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

  • @NotNormalDude-c1r
    @NotNormalDude-c1r 8 дней назад

    6:55 the grid thing on my code does not work

  • @laxmangurav08
    @laxmangurav08 4 года назад

    kindly provide code we wrote, into description

    • @Codemycom
      @Codemycom  4 года назад

      You can find the code here: github.com/flatplanet/Intro-To-TKinter-RUclips-Course
      but you shouldn't need it. Don't be lazy