▶️ 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
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!
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?
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.
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
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.
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
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.
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?
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?
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.
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
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?
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.
@@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]?
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
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.
@@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.
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
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'"
@@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'"
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 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!
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.
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
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
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
When you originally defined button click, you probably didn't put anything between the parenthesis. The correct code should be def button_click(number):
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
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
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!😥
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.
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?
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.
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"
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)
@@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
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
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 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.👍
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'
▶️ 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
yooooooooooooooo plz say hi plz
17:00 if you error syntax you have to replace Lambda to lambda. The syntax is worked than Lambda
Never use capital L in lambda...I don't use capital L in the video.
@@Codemycom yeah but i look it's large L :d
@@letsarray5712 so? the size of it doesn't matter at all, do it in the same way I showed in the video
@@Codemycom Oke fine that's not the big problem to me 😂
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)
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!
Happy to hear it!
Want to see more about making something like this that scales with resizing.
Please continue to make videos, you are truly a great creator and help so many people like me learn to code
I have hundreds of videos on my channel and I create more every week.
I think what helps me learn this is making it my own: changing labels, adding more functions or buttons
that's usually the case
Make a modern casio fx 580 💪
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?
Hello. Its from Bhutan. This video really helped me. Kadrinchey!
Glad to hear it!
Nice tutorials. Instead of running the code everytime, is there a way TK gui can automatic reload after saving in vscode?
no
you deserve million LIKE for this chain of videos
I agree, tell your friends! :-p
I enjoy how fun you make your lessons, 😃Thank you
Glad you're enjoying them!
Thanks sir ...
This is so simple ..i understood All the things thankyou ...
Love from INDIA
Thanks for watching!
You Are Very Good Teacher John Elder Please Make A Video On Doing Webscraping Using Python
Thanks :-)
Awesome. Great teaching. Is there any chance to have access to the written codes for each of the video?
github.com/flatplanet/Intro-To-TKinter-UA-cam-Course
17:01 What you want is e.insert("end", number)
thanks this video was really helpful and entertaing to both code and watch!
Glad it helped!
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.
no, python will see it as a string
Hello From Indonesia
It's a wow what you are doing........keep going
How to make the tkinter window flexible when maximizing or adjusting the size of the window?
Sorry, I don't know what you mean by flexible
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
Use frames or tabs
Hey, why you have placed columnspan parameter and applied it on the Entry widget? The other (button) widgets inherit it?
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.
It's possible to excute the program in android phone sir.? What is name of the app sir?
no tkinter doesn’t work on android
@@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.?
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.
My screen does not capitalize them lol that's what a lowercase l looks like in sublime...
It would be helpful for us if you write the script in the description too.
But I like your videos.
The code is here: github.com/flatplanet/Intro-To-TKinter-UA-cam-Course
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
most of coding is googling errors
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.
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?
I've got several videos on binding on the playlist
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?
I don't have any videos on that
why is tkinter gui not loading automatically why do i need to re-run it everytime i make changes.
that's how all coding works
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.
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
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
@@atoparis Also, you can't padx and pady in the same place you defined the button.
What is meaning for lambda?
Why we have to use it here sir?
I am beginner for python...
tkinter won’t allow you to pass parameters to functions with commands unless you use a lambda
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?
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.
@@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]?
@@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)]
Great tip, thanks!
@@444444444paok That's some really clever indexing for the rows and columns, thanks for the tip.
num1 = input("Type in the first number: ")
num2 = input("Type in the second number: ")
result = float(num1) + float(num2)
print(result)
That won't work in tkinter
@@Codemycom Yeah, just realized it... it works in Python tho
thats a console application
Looks nice but how to stylize the calculator?(colors/shapes/etc..)
In the normal tkinter way...check my playlist.
hey john !!!! is there any way to make our python app stands alone in mobile without installing a python compiler ??? thank you
Sure, but it's complicated...
Does the Capital L of lambda executed by your interpreter
No, it's a lowercase l not capital L
this is also exactly what I demand. thanks.
Glad you liked it!
Hello, can you explain me why do you have to enter two arguments,like e.insert(0, number)? or (0,END)
because you can delete certain characters in the entry box..so it's a range of all the characters in the entry box
@@Codemycom oh, it is simple logic when you put it that way. Thank you on your fast answer!
what does the lambda do??
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
in before lecture after button defining we put it button.pack() why it is not put in this lecture
In this video we're using the .grid() system instead of .pack() grid is used when you need more precision placing your widgets.
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()
Lesson check. Thanks.
Thanks
Hi, I have SyntaxError: positional argument follows keyword argument. why
Because you typed the code wrong... compare it to the video to discover what you did differently.
god bless you men thanks alot ❤❤❤
thanks
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.
codemy.com/membership-account/membership-checkout/?level=1
Add the coupon code and click the apply button
we are using padx= 50 or 60 some number what is the number i mean units 50mm of 50 spaces
Pixels
Yes it's is very nice
Please share more videos
I release new videos every day
@@Codemycom thanks friend interesting for coding
@@adarsht6266 no problem
Can you connect with us to clarify doubts?
@@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.
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
You're passing 8 into your button_click function. Does your button_click function code accept arguments?
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'"
You can't define a widget and .pack() it on the same line.
@@Codemycom still the same error but i think becoz i use .place()
@@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'"
@@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.
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)
whatever floats your boat
@@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!
Great work
Thanks!
after adding the columnspan of the clear and equals button the 0 button didnt show
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.
shouldn't be any spaces after your padys and commands
no its cause u used () in commands
you cant use parentheses
when i execute it it says:
ModuleNotFoundError: No module named 'tkinker'
Nevermind, i spelled it wrong, lol
@@leannebourque was just gonna say that lol
from tkinter import *
^^^
Use this
what are the units of width and height that we define inside the 'root' function? Is it pixels?
basically, yes
When I came to 8:47 on the video where you made the buttons my buttons where all over the place could you help
What did you do differently in your code? If you did what I did, you'd get the same result.
can you quickly explain a little more what e.insert(0,number) requires the 0? is it a boolean value of some sort?
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.
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
that's not exactly as the tutorial at all. You can't padx and pady where you define the button.
Hello, after adding the column span I still have big gaps in-between my columns ?
Weird...double check your code...
@@Codemycom The gaps remain even if i make all the buttons the same size
@@jamesh6224 There has to be something wrong with your code, or something you aren't seeing...
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
@@Hyvexx You are a LIFESAVER!
how do you save the calculator built as an app.
I have a video on making exe files in the playlist
Can anyone explain why lambda should be used? Why can I not just call button_click function with the correct number?
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
Thank You🙏
Welcome!
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
then you haven't done the code the same as me. Check for typos...
When you originally defined button click, you probably didn't put anything between the parenthesis. The correct code should be
def button_click(number):
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
The version is irrelevant. The l in lambda needs to be lowercase
estou gostando muito das aulas parabens profesor
Glad you're enjoying them!
I am using .place() to place the entry and buttons but it is END is not defined. Can u help Me?
I never use place
@@Codemycom Ok. Il try to use .grid() method.
@@yuvithegreat3878 cool
in my computer Lambda gave syntax error, lambda with small l works though
Yeah, it's never supposed to be capital L in lambda. I do lowercase in the video.
@@Codemycom It got me too the video looks like upper case L
@@ichabodsescape1885 Yeah, I hate that sublime does that
Use PyCharm. 😀
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
the L in lambda needs to be lowercase
i love this
How you run your code, I can't run my code in sublime text?? Good video!
I'm not running the code in Sublime text. I'm using the git bash terminal that I downloaded.
git-scm.com/downloads
@@Codemycom Ty I'll try that :]
@@Codemycom I just get an error:
$ python calculator.py
bash: python: command not found
any solution?
@@mariogamer587 you didn't add python to path when you installed it. Reinstall it, check the box that says add python to path.
@@Codemycom ok ty I added it through settings😊
Hello John.
What does END do in e.delete(0, END)??
Think of it as a python list...we're saying delete everything from position 0, to the END of the list.
@@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?
@@sunilkjha3638 Basically, yes
Thank you
Welcome!
How did you open your program?
What do you mean? Open what?
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!😥
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.
Yea that was it.
The Button cannot be named 'button1' or 'button' or 'Button'
yep
omg, thank god.
Edit: having the same problem
i use the "lambda" and when i run it, the terminal says "Syntax Error: Invalid Syntax". What do i need to do?
lowercase l in lambda
@@Codemycom thank you. you're the best
@@fonzyurriquia8640 you’re welcome
you are a great man
Thanks!
Please help...
button_1 = Button(root, text="1", padx=30, pady=25, command=Lambda: button_click(1), font=number_font)
^
SyntaxError: invalid syntax
nvm, the "Lambda" should not be capitalized. So its "lambda", NOT "Lambda"
how do you know to set the padx of "=" is 91 ???
Trial and error
I am facing issue while entering a new number with result already present in the input box (concatenation issue). How to resolve it?
Without knowing what you are doing or what your code is, I can't guess.
@@Codemycom I am working on Simple calculator. Whenever I type a new number, it gets concatenated with the previous result instead of clearing it.
@@deepanshumohan7777 My answer to you doesn't change...
Amazing
Thanks!
when I press any button I get type error: 'Button' object is not callable. Please help me out. I'm stuck
What are you doing differently in your code than me?
Maybe you imported _tkinter instead of tkinter
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?
remove pack and replace it with grid
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.
Rewatch the video and follow along exactly.
I think u have run the previous file. Check the file and run or else mistake in code
For python 3.10, with pycharm, in Ubuntu, it's lambda instead of Lambda.
it's lowercase in the video too. I know it looks uppercase, but that's lower.
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"
Do you mean the entry box? You increase the font size: font=("Helvetica", 20)
@@Codemycom yes entry box, would ("Arial" 20) also work?
@@adebolaokanlawonsaseyi6655 Try it and see. You could have just tried it faster than it took to ask me.
@@Codemycom Thank you, it worked.
@@adebolaokanlawonsaseyi6655 sweet
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
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)
@@zeyadabbood8401 Bless you
is there anything wrong. number is not coming on the entry screen
probably...check your code :-p
i wonder about lambda function , i never see to use function outside and use inside lambda , can anyone tell me how it work
Sorry, I don't know what you're asking
@@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
@@21no.8john9 tkinter uses lambdas slightly differently.
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
Coolio
Glad I found this comment. Was wondering how I fucked up and now I know where.
Nice video
Thanks!
width and padx button, how different?
one changes the width, and the other adds padding
it says that "Lambda is not defined" What Should i do?
lambda needs to be spelled with a lowercase l not uppercase
I smashed said "LIKE" button below, now my screen is broken... THANKS!
Life is risk! lol
U smashed the screen then got a syntax error anyways Good vid keep it up
@@Mkz32 too funny!
Please show us how to the entry widget bigger because it's too small
I do in the playlist already
super!!! Thanks a Lot..
Sure thing!
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.
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)
@@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.👍
Thanks great help ..
Happy to help!
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'
have same problem
@@kermitsan3892 and me i thing because our version is python 3.8 but the video used older version python 3.7
"its a program, we can build it and that should be cool"
~John
lol
I got problem on "From tkinter import *"
it shows 100 problem at "From"
unused import wildcard stuff...
@@wizamaulana6362 Sounds like you got a warning, not an error.
@@Codemycom its okay, i disable the linter