Video Outline! 0:17 - What we’re ultimately building 2:05 - Getting started 3:16 - The basics of every Tkinter App (Root) 4:44 - Add a button to the screen 6:20 - Passing in keyword arguments 10:07 - Using frames to organize widgets 11:53 - Setting custom colors 14:00 - pack() to place widgets 17:39 - grid() to place widgets 19:53 - place() to place widgets 25:49 - Setting the appearance of our final application 33:45 - Adding background image 36:00 - Implementing button/entry functionality 39:49 - Connecting to the Weather API 43:29 - Making a GET request 51:36 - Formatting our response 56:24 - Changing Font and Font Size 59:58 - How to add weather icons to the app 1:01:36 - Making our App an executable using PyInstaller Hope you guys enjoyed! Make sure to subscribe if you haven’t already :)
@klausbauer24355 жыл бұрын
Could you do a video about web development with python or at least recommend something?
@texanniner5 жыл бұрын
@@klausbauer2435 I've used Flask with success.
@subhammitra12185 жыл бұрын
How to show all the things like pressure, humidity etc in the final output display??
@imcoder69695 жыл бұрын
great job dude keep it up man!! keep it up!!
@mashraful50655 жыл бұрын
Will I need Python Tkinker to build the application???
@kckph42645 жыл бұрын
Finally, i programming tutuorial from someone with a sense of humor and a voice thats louder than 2db, and the tutorial is really understandable
@matheusjanczkowski91073 жыл бұрын
And is not speaking fucking broken English with Indian accent...
@nikothenoob Жыл бұрын
first reply?
@charlietame18925 жыл бұрын
Definitely the best tutorial yet. I'm not exactly a novice but the fact that you took your time explaining "Why" you chose to do things a certain way was for sure something missing from other tutorials and will help a lot of people.
@jdsguam3 жыл бұрын
I'm a 66 yr old and was not going to try learning python; but this video got me interested and running down the rabbit hole. Nicely Done!
@truepenny25142 жыл бұрын
This was the second video of yours I’ve watched and I’ll be watching more. You speak *naturally* - you’re not reading from a script or mumbling; it’s like I’ve just sat down with you and you’re showing me something. Also, when stuff doesn’t happen just right the first time - that’s VERY real life - you’re modeling what to do - don’t panic just go back over stuff and figure out what you did wrong. Easy-peasy! I love this style of teaching, thanks.
@ivanllopis58825 жыл бұрын
This is the best video on Tkinter I've ever seen. Thank you so much, I'm definitely sharing this one with whomever may find this useful. Good work!
@KeithGalli5 жыл бұрын
Glad you enjoyed, and thanks :)
@moletsanephillipmakhate53055 жыл бұрын
I also agree with this sentiment
@ArtuursPaulausks5 жыл бұрын
It is much easier to understand when a person explains syntax in his own words. Awesome video, thanks !
@ActuallyAudacity5 жыл бұрын
For people trying to this program while following him along, if you're not using sublime text you may have problems with the request function. In order for it to work go on command prompt and type "pip install requests" and then go to your code and "import requests". Hope this helped if you were stuck on this!
@Redagrandrei5 жыл бұрын
Thanks man
@Stellarspace955 жыл бұрын
dang, I read your comment and when I ran into the issue I remembered you posted this so thanks lol
@ActuallyAudacity5 жыл бұрын
@@Stellarspace95 No problem :D Glad it helped some people out because I had this problem as well and was very confused
@lokeshkumarw90455 жыл бұрын
why did people have this problem? He mentions in the video about installing "requests" and then imports it as well!! :/ Edit: installs at 2:30 imports at 44:00
@ActuallyAudacity5 жыл бұрын
@@lokeshkumarw9045 Could you put the time please? I may have missed it.
@AspartameBoy5 жыл бұрын
The documentation "out there" is not very effective. Your video is super.
@maniac18144 жыл бұрын
What makes this tutorial better than any other tutorials on tkinter I have seen is, that you import the module as tk and not as * so that one can distinguish the tk calls from all the other stuff at first sight. You also don´t put everything in a class like many tutorials out there which only complicates things. I haven´t seen anyone else describe the place-function - which is a great tool to make the gui look professional.
@direndeniz8817 Жыл бұрын
He is teaching us by learning simultaneously which makes the video more natural. That's why I subscribed to him... Great job Keith. Keep going. Greetings from Turkey...
@maximilianschmid26444 жыл бұрын
If you have problems loading the pic on a mac, try importing: from pathlib import Path then define the image path: image = Path('*your folder1*/*your folder2*/*your folder3*/*your_pic.png*') After that just add file=image: background_image = tk.PhotoImage(file=image) Thanks for the vid, Keith!
@TheKhashix5 жыл бұрын
You're a wonderful teacher. Only just getting started in Python and you manage to make all the concepts incredibly easy to understand. Not only that, you're always going in and explaining why you're doing something, providing a real kick-start to the learning process. Thank you for uploading this!
@justinmcdonald19304 жыл бұрын
If you'll getting a syntax error with the "Lambda:" code, try using lowercase L in "lambda:"
@LittleRapGuy4 жыл бұрын
It was a good idea to make the breakfast sandwhiches available at all hours. :0
@joshcarz4 жыл бұрын
omg thanks
@msctube454 жыл бұрын
Thank you for the hint!
@gobstopr14 жыл бұрын
Thank you!
@ericmikolajski10824 жыл бұрын
oh my lord, you dont know how much that frustrated me, thaaank you
@patrickmbarker5 жыл бұрын
Thanks Keith, I learned a lot in this one. I started learning programming with Java in college, but I am finding Python much more fun to work with. I've finally got that motivation back for programming.
@adlerdoesstuff18723 жыл бұрын
Hands down best coding tutorial I have ever seen
@VarunSridharan914 жыл бұрын
This i can guarantee is the fastest and clearest way to learn the basics of interactive GUI python programming and API calls. Beautifully done tutorial! Many thanks , God Bless.
@Phoenix-to2no4 жыл бұрын
I realise this is literally a year after you posted it but it is still the best source I've found for learning how to use Tkinter. Thanks :)
@KeithGalli4 жыл бұрын
Well I still usually see the comments :). Glad you enjoyed!!
@AlbertLeng4 жыл бұрын
I had a hard time reading the "official" documentation as I guess it's not really well-maintained and updated. Following your video is such an efficient and effective way to kick start my Tkinter learning. Good job brother!
@Nunya582942 жыл бұрын
One of the best tutorials I've seen for this.This also helped me understand frames a lot more with a visual rather than just explaining
@joeythompson23754 жыл бұрын
Thank you, Very thoughtful of the viewer. Hat tip to you sir on tutorials point. wow a goldmine. I appreciate the honesty in showing that a huge part of this is looking up things. When I started watching coding videos , I was scared I would need to memorize an encyclopedia. Big confidence boost here.
@owensweitzer82704 жыл бұрын
Hey y'all, heads up as you're going through: The background pic can't be jpg
@hippolytelapierre34754 жыл бұрын
ze ddz why you so agressive 😂
@enzoqueijao4 жыл бұрын
@@opus_X I'm curious too! If people don't answer, I'm gonna get mad as well!
@Jam-iv6xz4 жыл бұрын
Thank you friend
@niyousha68684 жыл бұрын
thank you
@maheshpishe61164 жыл бұрын
you need to install pillow library for adding .jpg images
@thebeston67104 жыл бұрын
You are one of the best programmers ever!!!!!!! This helped me learn tkinter a lot!!!!
@baksagimm58905 жыл бұрын
Best tk tutorial out there! Thankyou. I was struggling with overcomplicated official docs.
@KeithGalli5 жыл бұрын
Happy it helped! :)
@jeremythompson86975 жыл бұрын
Really enjoyed your cool, calm and casual style - taking us through the "Design-Time" before run-time with a realistic demo was a great intro. Keep up the good work!
@BrannenTaylor4 жыл бұрын
Thanks for the video! Very helpful. One small mod I added was being able to hit after the city. entry.bind("", (lambda event: get_weather(entry.get()))) # the entry.bind above, will allow the return to be pressed - same as clicking button.
@Ouzzel Жыл бұрын
I came here just to learn the GUI, but also needed help with API also so this was really helpful.
@cv65934 жыл бұрын
This was extremely helpful for me - I was able to follow everything and build my own front-end database form connected to SQLite just by using your tutorial as a template. Much appreciated!
@rafalpilewicz55454 жыл бұрын
hi Chris, can you show how your front-end database looks like? I would appreciate it. Thx
@ajitkumar-pr3ep4 жыл бұрын
if any of you having a trouble with image display try importing from PIL import ImageTk, Image and then using background_image = ImageTk.PhotoImage(Image.open('your.png')) it worked for me
@noellekkar9034 жыл бұрын
Whoa, thanks a lot. It worked for me
@roberteagly33494 жыл бұрын
I'm sorry I am new to python. Could you show an example? I am using spyder, I typed exactly what Kieth typed but I get an error in regards to the background image.
@videepsingh18054 жыл бұрын
Hi, I tried using what you said, and though the program didn't crash, The image didn't load up, it showed all the rest of the components(the labels, button and entry) but not the background image
@fredflintstone23053 жыл бұрын
@@videepsingh1805 Same here.
@muhammadusamaamin28455 жыл бұрын
Thanks a lot! It helped me very much to learn the basics of python functions. I was having some issues in getting temp in Celsius, I resolved it by conversion from Fahrenheit to Celsius. I completed it just before adding icons.
@RubikMaster133 жыл бұрын
One of the best tutorials I've ever seen. Just the right level of information, and you actually show where you get everything from!!
@GoodBoyDanny4 жыл бұрын
this is the best coding tutorial I have ever listened to
@AjaySingh-mu5ik3 жыл бұрын
I love the way you explain with help of google . it motivate me that google is available for your help. You explain how to use it. And your tutorial is always base on a project. which describe how things happened.
@mohitjain49435 жыл бұрын
Love From India Mate! :) i have been watching all your videos. Love your Videos man... Please Bring More videos quickly We wait for a Long time!
@KeithGalli5 жыл бұрын
I appreciate the support mohit! I'm sorry that I've been taking a long time to post new videos. I've been very busy with school/work. Will try my best to get them out quicker, but no promises.
@muhammedalidilekci45853 жыл бұрын
Thanks for being perfect. I am following you & sharing your videos with my friends from now on. This was really one of the best tutorial videos I've ever seen. You don't sound like a cold teacher, you describe things in your own words rather than definitions as much as possible, you are explaining the reasons behind your actions and choices , your sound is clear and understandable. Thanks for the video , keep up the good work bro.
@VainerCactus05 жыл бұрын
Thanks for this. Was my first time coding anything using the requests module, so it was very helpful.
@lilystar55 жыл бұрын
VainerCactus 0 my import requests doesn’t work, it says “there’s no module named ‘requests’
@VainerCactus05 жыл бұрын
@@lilystar5 You know when you import random or import tkinter? import requests is the same, except requests does not come with the standard python instal. You need to download it off the internet. There should be some command for that, but it is too early for me to remember that. Just google pip instal requests and see what you come up with. There are a whole bunch of libraries and modules you can download from the internet.
@SS-bb1nc4 жыл бұрын
Thanks for actually explaining the positioning methods. Strange, but I dont think any of the tkinter tutorials I watched before even mentioned place(), and its the most useful in my opinion. Best tutorial I've watched so far. You deff got a new subscriber
@MmmBopsPops5 жыл бұрын
Never knew why lambdas were needed in JS as well for setTimeouts and stuff, but now it makes sense. Thanks!
@purple_rhino4 жыл бұрын
If your getting Pillow doesn't works properly, you might want to reinstall python, making sure that when you reinstall, you check the box that says 'Copy to path' or something along those lines. Helpfully saves a lot of frustration.
@danmcginnis99334 жыл бұрын
Keith Thank you very much for taking the time to go over the details of what the code does and how it works. This was very helpful
@Ardrysto5 жыл бұрын
lmao the moment he pressed the button an ad started playing and I was super confused
@Zephyr-tg9hu3 жыл бұрын
nice lol
@niyousha68684 жыл бұрын
You are one of the most genius people I know in the USA, you are not a silly American Keith (referring to what you said at 45:30). Also, thank you for this tutorial.
@Kedoorsie5 жыл бұрын
I am only at 14:05 now, but have to say that so far you have explained it brilliantly, with so many additional resources. Glad to subscribe!
@chrisw55093 жыл бұрын
Fantastic video! I am a beginner programmer, lol - more like a “wanna be” programmer. I started with Python and the related GUI Kivy. Your video enabled me to get a grasp on using API with Python. However, I was challenged by translating your Tkinter GUI into Kivy. I succeeded and created a Kivy Weather App. In connection, I only used one Python function / method. For my purposes and limited experience, I found using one function preferable. I have subscribed and intend to view more of your videos. Please keep up your efforts. I really appreciate your videos!!
@twnfaem5 жыл бұрын
Absolutely excellent tutorial! If you're planning on doing any more tutorials in the future: do 'em like this! Thanks and appreciation from Belgium :)
@Nurgle19775 жыл бұрын
Thank you for taking the time to do this. I am just beginning out in python, I enjoyed doing this project. Also it is amazing how a wrong letter is hard to find, lol.
@thebandwidth4 жыл бұрын
The best programming video i have ever watched on KZbin The professional teacher should learn from him
@guilhermezucco12693 жыл бұрын
I'm watching this from Brazil, and I can honestly say that this is a great video. Along with sense of humor, this tutorial is filled with good content and also showcases handy line codes. It's my first time studying GUIs, btw
@thelamarcke4 жыл бұрын
This is a really nice tutorial, you even introduced me to APIs, which i've been looking to for quite some time. Thanks and keep the good work
@Fkellog5 жыл бұрын
Great tutorial, it is a great help! Q: When building an app (android) in python, what libraries would you recommend for the visualization? tkinder looks promising, though I have no clue what else is out there, or how to find it.
@pascalfabiano86205 жыл бұрын
You could try the Kivy module
@FEADith4 жыл бұрын
I really like your video cos u also show the documentation and showed us where to find something.. so we can explore deeper on our own. Thanks.
@sandeepsharma-ph8id4 жыл бұрын
One of the best videos. Thanks Keith. Learning couldn't be so simple.
@aravindantr44995 жыл бұрын
Woww...I love the way you teach us please upload more videos based on tkinter GUI
@GiovanniGirelli1104 Жыл бұрын
Thanks! Very cool! I followed along and was able to build another kind of app based on this tutorial.
@michaela.thompson89862 жыл бұрын
What is that screen you left up at the end of your video (the one where you were PIP things into? I'm using Windows. Great video and I enjoyed your thorough explanations and the why you did things. A lot of other tutorial videos seem to lack the why, they seem more interested in just showing the how. Keep up the great work. My only suggestion is to create a list of your videos (in order from start to the latest). Just starting out in Python and "stumbled upon this video as a "suggested video" by KZbin. Really enjoyed it. Thank you.
@corkerydan4 жыл бұрын
Very good video. Thanks. I avoided tkinter for years for a qt builder. It's a little bit longer to design but good to know. Good work.
@eldricktrujillo43294 жыл бұрын
Great video, i just have finished a beginners course and this is awesome, thanks bro!
@charlietame18925 жыл бұрын
By the way instead of a Lambda the "Entry" fields can be read by a function as long as the function is defined after the entry fields. I didn't want to complete the weather program but here is a snippet that works. This had me fooled for a time until I realized what I was missing :) import tkinter as tk import requests from PIL import Image,ImageTk root = tk.Tk() HEIGHT = 500 WIDTH = 600 canvas = tk.Canvas(root, height=HEIGHT, width = WIDTH) canvas.pack() background_image = tk.PhotoImage(file='bgnd.png') background_label = tk.Label(root, image=background_image) background_label.place(relwidth=1, relheight=1) frame = tk.Frame(root, bg='#80c1ff', bd=5) frame.place(relx=0.5, rely=0.1, relwidth=0.75, relheight=0.1, anchor='n') entry = tk.Entry(frame, font=40) entry.place(relwidth=0.65, relheight=1) button = tk.Button(frame, text='Get Weather', font=40, command=get_weather) button.place(relx=0.7, relheight=1, relwidth=0.3) lower_frame = tk.Frame(root, bg='#80c1ff', bd=10) lower_frame.place(relx=0.5, rely=0.25, relwidth=0.75, relheight=0.6, anchor='n') label = tk.Label(lower_frame, text='This is a label', bg='yellow') label.place(relwidth=1, relheight=1) def get_weather(entry): weather=(entry.get()) print('Weather', weather) root.mainloop()
@NarenderSinghRai2 жыл бұрын
thanks.. it helped me to complete my project
@meliodas45604 жыл бұрын
Finally... This might be the first time I've heard someone mention "magic numbers" and why not to use them since my formal education years ago... Great vid :)
@nandaa19823 жыл бұрын
wow with this vidio I am making weather forecaster and helpful too
@Blankiezisnotafard2 жыл бұрын
Awesome video keith! Looking forward to more!
@bisratgetachew83733 жыл бұрын
We need you back man. Hope you make your return soon. Thanks again
@folarinodejayi4 жыл бұрын
Thank you so much for this Keith!! I completed my Stanford crash course project with this! means a lot!
@mivoe995 жыл бұрын
Really good tutorial. Thank you for getting me started in Python and not over simplify every step you take.
@incomputable9495 жыл бұрын
Hi! Congrats on 3k subs! I love your videos and teaching style and wondered if you could do a video on creating a platformer or advanced game with art? It's just an idea tho. I know you must be busy and stuff but it would be great! (:
@KeithGalli5 жыл бұрын
Thanks! I do want to make a tutorial for a platformer/advanced game, but unfortunately it won't be for a while. I'm currently finishing up my master's degree and it's been hard to find time for KZbin. My goal for this video will be sometime during the summer.
@ribhuhooja31375 жыл бұрын
@@KeithGalli Please do. I'd love to watch such a tutorial. Also, if you can, please do a follow-up for the pygame video that you. Thanks for making such great tutorials, btw.
@joephinazee54224 жыл бұрын
Thanks for the video Keith. Everything was well explained and I was able to follow along just fine.
@symbolorate3 жыл бұрын
an awesome short project I leaned a lot from it thanks Keith
@buuqmarabo27785 жыл бұрын
your app looks modern! it's not true what people say about ttk after all but i am into Qt for python (PySide2) right know and hope you do tuts on that since no one do that. thanks!
@AndrewKiethBoggs4 жыл бұрын
Thank you for providing quality content. My friends and I are learning python and your channel has been beyond amazing. I will be recommending you!
@nagendravishwamitra36523 жыл бұрын
I really understood Tkinter now ... Can you please make a video on tkinter to search a specific row in a excel n also on multiple dependent search
@edenamir58254 жыл бұрын
This is awesome!!!! I'm a beginner and it was so fun to watch. you made it look so simple and explained it very cllearly. thank you
@sagarentertainmenthub51812 жыл бұрын
I made my fist GUI after watching this, thanks a lot bro, love from india🤩
@amazinggrace93163 жыл бұрын
Thank you so much. I have one quick question Keith. Why did you put everything inside a canvas first. That is to say why did you put your big frame inside a canvas, then all the smaller frames inside the big frame as opposed to started with a big frame, and putting other frames in that big frame.
@aidenyang12865 жыл бұрын
Dude, keep it up . Your video is quick, straight to the point. Love it. Thanks
@frikkievandermerwe5 жыл бұрын
Awesome tutorial man! Really enjoyed it - easy to follow along. The way you used "place()" function with relative positioning and sizing is something I have been searching for... I had been playing around with Kivy but always hoped Tkinter could do what I wanted. Tonight you showed me how. Thanks man :)
@bonkgta11313 жыл бұрын
Finally an AMAZING programming tutor!
@xskodemedia7465 жыл бұрын
dude, you audio is clear and crisp! (it's been awhile since ive watched a tutorial with clear and crisp voice lol) is it the microphone or your audio editing skills that makes the audio sound great!?
@KeithGalli5 жыл бұрын
Thanks man! It's a combination of my Sony mirrorless camera equipped with a Rode microphone. As long as the audio recording levels are set well, the audio comes out very crisp!
@mbonuchinedu24204 жыл бұрын
Exactly what i needed now in python, and Keith Galli came to the rescue. Thanks Keith, more grease to your elbow
@sammathew2435 жыл бұрын
Would be good that you follow this up with a GUI building using PAGE, which is WYSIWIG drag-n-drop GUI builder that gives you the Tkinter code, once you built your GUI.
@P3ace1oveUn1ty3 жыл бұрын
Great Video Keith, thank you! I learn so much from these. When using pyinstaller, add a -w flag and it will get rid of the blank window for Windows users. pyinstaller.exe --onefile --icon=sun_icon.ico -w WeatherApp.py
@cooperm5904 жыл бұрын
Thanks for the tutorial, even though I used it to create a GUI for a game bot, your tutorial was very useful. keep up the good work man
@vic_dpewang90795 жыл бұрын
I really like your video. Quick question , I try to use my own picture for the background, but it does not work, is there a format requirement ?
@daanvanvlasselaer64115 жыл бұрын
Only .png files work for me
@CitizenPerkins5 жыл бұрын
I had to convert my .jpg to a .gif before it would work.
@ssnoyes5 жыл бұрын
PhotoImage doesn't understand .jpg natively. PIL can convert it for you. effbot.org/tkinterbook/photoimage.htm
@sskengineering84743 жыл бұрын
Subscribed bro!!!!! Thank you for the video my g!! love from east London
@KeithGalli3 жыл бұрын
You're very welcome :). I appreciate the subscription!
@MariaSantos-bw7uh3 жыл бұрын
This is exactly what I was looking for, it really helped a lot!! Thanks!
@IntuitiveLeap5 жыл бұрын
I hope you might do a similar tutorial using PyQt5 for the GUI at some point in the future. That gui kit has been a brain buster for me and the docs i've found so far are just not really helpful. TKinter now makes some sense though, and I thank you for that!
@vaelinalsorna16494 жыл бұрын
Thanks for the tutorial. I have been learning tkinter from other yoututbers and have read the docs but couldn't find a solution to make sure my widgets resized when you mess around with the window. Searched stack overflow and the official tk docs that recommended using grid_propagate(0) then adding 2 arguments (arg, weight=1) to rowconfigure and columnconfigure with weight being the supposed solution to my problem. Well, it didn't work. :/ Thankfully, I stumbled upon your video explaining how place() works instead of using pack() and grid(). Really appreciate the video. Keep up the great work. You've earned a new sub. 🙂
@enayatharia4 жыл бұрын
Finally I got how to work with API, thanks!
@MrSYLVESTER4445 жыл бұрын
super helpful man.....much love from Nigeria
@robinsonzapata13 жыл бұрын
Great tutorial, showing documentation too!
@ashleyjacobs10022 жыл бұрын
Really clear and fun tutorial. Thank you!
@UBRArsenal5 жыл бұрын
Great Job! This is one of the best How to Program videos out there. I do have one issue, I can't get the requests library to import. It seemed to load when I did the pip command. Is anyone else having this issue? If so how did you find a fix?
@hpps72604 жыл бұрын
Same issue here in Windows 10, but solved after installing that library using "py -m pip install requests" in a terminal. Took the answer from stackoverflow.com/questions/39832219/pip-not-working-in-python-installation-in-windows-10
@manojkanjookaran31315 жыл бұрын
Hi Keith, Liked your video , its awesome. Just wondering if you can help me here with something. When I run the program I get an error saying it cannot find any 'requests' module . I installed requests with pip install, so what could be wrong..?? Thanks
@Medhusalem4 жыл бұрын
Hey mate, really great Tutorial. I have but two questions. (Didn't finish yet I am at 38:42). First: Why do we need a canvas, when we put all our frames into root as well, can't we just use the frames for canvas or ignore canvas all together? frame1 = tk.Frame(canvas...) frame2 = tk.Frame(canvas...) or frame1 = tk.Frame(root...) frame2 = tk.Frame(root...) This confuses me a little bit. Second: What about the button click, what do you think about doing it this way: def test_function(): print("Entered: "+ name.get()) name = tk.StringVar() entry = tk.Entry(upper_frame, font = 40, textvariable = name) This way we would also get the text inside the Entry. Do you think it is just perference or is your method a better, more standard way in doing it? Kind regards
@Jacman84 жыл бұрын
was thinking the same thing, i hope he answers this
@rutujashinde90255 жыл бұрын
Thank you so very much Keith for such a great video. I have no words to explain how valuable the information presented in this tutorial is for me! It'd really be of great help to me if you let me know how to deploy this app made by pyinstaller onto an AWS server?
@Obzen88UK4 жыл бұрын
Great tutorial, a few little blips here and there but you taught me a lot, so thank you and keep doing what you’re doing!
@syremusic_4 жыл бұрын
Awesome video. Super clear and easy to follow. Thank you!
@notallpolitical4 жыл бұрын
It helps when you show your mistakes because learners such as myself can see how to solve their own code from mistakes, thanks
@Kizmaaa3 жыл бұрын
finnaly a tutorial that is making me can wrote my own program thanks:)
@phantomf415 жыл бұрын
Best video on tkinter and really entertaining to listen to this dude.