Using tkinter with classes

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

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

  • @jayramsey853
    @jayramsey853 9 месяцев назад +22

    I don't understand how you only have 5.88k subscribers! This is so well explained, which for these tutorials is rare, thank you so much!

    • @jayramsey853
      @jayramsey853 8 месяцев назад +1

      Edit: Didnt realise u had a much bigger channel, but i still stand by what i said

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

      just found him today I like it

    • @writart3723
      @writart3723 4 дня назад

      Can't agree more.

  • @rishabhagnihotri6004
    @rishabhagnihotri6004 7 месяцев назад +3

    The best video for tkinter till date🙏

  • @mikeniemotka9547
    @mikeniemotka9547 7 месяцев назад +1

    This was an awesome explanation as you did a side by side with the NON class code. Really appreciate it

  • @TV-eh9fi
    @TV-eh9fi Год назад +16

    This tutorial is way better than the others. You are giving comparisons (unlike other tutorials) which is what we need. Thank you.

  • @jimalix6270
    @jimalix6270 Месяц назад

    Your videos are awesome! You have a great teaching style - you explain thoroughly, and you speak slowly enough so we can process what you're saying as you're writing the code. Thanks!

  • @darrenlefcoe
    @darrenlefcoe Месяц назад

    Another excellent video. The only thing to mention here is that the gain is only seen for much larger projects. The new code in this case is actually 25% longer than the old code.

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

    I've watched this video at least twice and reproduced the content. It's an outstanding example of using OOP and tk. Thanks!

  • @FernandoSantos-on5ry
    @FernandoSantos-on5ry Год назад +6

    Standing ovation, Sir!👏 I have watched all these (your) videos from the first one and will continue to the last one (#40) because they are so good! My deepest congratulations, inspiring!

    • @timlambert3673
      @timlambert3673 Год назад +2

      Have to agree - the best instructor I’ve found thus far. Deserves more attention

  • @doktor.paichiwo
    @doktor.paichiwo Год назад +4

    Amazing. Finally got to understand how classes work. Your tutorials are the best, thank you for doing them. ❤

  • @deeplazydev
    @deeplazydev Год назад +1

    Amazing, finally someone creating a good structure and a pedagogic way. Congrats!

  • @larsondavis8155
    @larsondavis8155 4 месяца назад

    These are fantastic. Dude, youre an excellent teacher, pointing out the right things and making it so understandable. Much appreciated

  • @rickyusuf8696
    @rickyusuf8696 9 месяцев назад +1

    Bro, this is amazing! One of the best well-explained videos on class-based apps. I am using this approach, but do have doubts sometimes on how to organize the code properly. Thank you for making this easier!

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

    wooow I can't speak, before this video I had a lot of problems understanding the classes, and I had no idea how and why should I use them but know you opened my mind and make me see their importance and make me understand them easily.... thank you very much from all my heart ❤ .

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

    These are indeed worth in gold.. RUclips algorithm sucks..

  • @simonkroschel3662
    @simonkroschel3662 6 месяцев назад

    This ist the BEST explanation i found on RUclips.

  • @strangerist2
    @strangerist2 6 месяцев назад

    Thank you, this is superb. Very clearly explained, and exactly what i was looking for. The only difficulty I had was that many of my labels have text that changes as part of the program, so I had to call mainloop using the object (instance), rather than from within the class constructor. I can't see any way around that, but if anyone reading this has any thoughts I'd love to hear them. Thanks again for such a clear and detailed explanation.

  • @rakesh.a.c
    @rakesh.a.c Год назад +1

    the best video on this topic. you deserve way more subscribers

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

    I get new understanding of tkinter, thanks you❤

  • @sustrasbk
    @sustrasbk 2 месяца назад

    Some super helpful videos, excellent quality! Any chance you could make a video talking about passing information between the frames? Eg, when a button inside Main frame is pressed, it should update something inside the Entry frame?
    In my particualr case - I have a class which contains a matplotlib canvas and I have a few classes defining different frames which contains some buttons and entries. I want the matplotlib canvas to be updated based on the entries and button pressed in those different frames

  • @kendiener5447
    @kendiener5447 Год назад +1

    thank you!!! Explained very well.

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

    Thank you for the video! It was super helpful.

  • @jbt8903
    @jbt8903 6 месяцев назад

    Very clear and easy to understand videos, easiest I have found to follow and comprehend. Would you continue with the series by adding commands to the buttons and then splitting the parts into separate modules or .py files. I am trying to create a sqlite database app with a lot of tables and table editing windows but am struggling as it gets too complex and I have been unable to split the modules while maintaining functionality. It a model train/Item inventory database Thank you for your videos!

    • @rylanb.409
      @rylanb.409 6 месяцев назад

      Yes. I was wondering if he would create a video with the OOP approach but with functioning buttons next time. Here it is mainly just creating and placing widgets

  • @Ingo-ns3qp
    @Ingo-ns3qp Год назад +1

    Great Videos! I learnt a lot. Thank you

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

    Love you, literal live-saver

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

      are you beginner programmer like me?

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

      @@natiadonay2104 kinda yeah

  • @SkyOcean-lg7lt
    @SkyOcean-lg7lt 9 месяцев назад

    Biggest help ever!

  • @MariniSukamto
    @MariniSukamto Год назад +1

    Thank you. This is so helpful

  • @flopism493
    @flopism493 2 месяца назад

    great implementation

  • @notanumber-fy8mp
    @notanumber-fy8mp Год назад +3

    It works perfectly on Windows 7 but the red label will not display on Linux Mint 20.3
    My mistake!
    In the class Menu(ttk.Frame):
    Def __init__(self, parent):
    I entered __init__ as __int__
    This occurred using one of the built-in features of PyCharm.
    An easy mistake to make, but not easy to spot (with my eyesight).
    Many thanks for the videos!

  • @valentinrafael9201
    @valentinrafael9201 2 месяца назад

    The big problem with abstraction is that, you can't really do it from the get-go most of the time. If someone tries to get started with a GUI and go straight into abstracting first, and building functions second, they'll have a hard time debugging and a hard time when they get an idea while building and now they have to fit it in somewhere, or something didn't play out as expected. The sad truth is that, you kind of have to make a mess first, before doing it clean. After all, you can't "clean" unless it's dirty.

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

    Thanks my man I love it and I love you!! Xoxo

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

    Hi, great video. Only thing I don't understand is why there was another class made for the last frame? Why not make another frame in the main class

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

      Not sure if you care anymore haha but my guess was that rather than creating and packing each button and label you're able to do that once, and then create 2 (or more) instances of it. Like let's say instead of 2 label/button pairs he wanted 10.
      If he didn't create the class, he would have to write all the ttk.Label and ttk.Button and the packing code out 10 different times. Whereas with the class, he adds the Label/Button and .pack() code only once, and then just creates 10 instances of it.

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

    Great explanations!

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

    to solve the local variable problem, you can pass them as the parameters

  • @2002budokan
    @2002budokan 9 месяцев назад +2

    Why do you prefer class inheritence instead of composition, is there any reason that I don't know yet? I ask this question, because all component based web applications construct their components via composition further I know how difficult to maintain inheritence based approach from ancient MFC applications. But all OO tkinter courses prefer class inheritence, maybe there is a good reason? Consider how difficult to switch from Tkinter to CustomTkinter if you prefer class inheritence.

    • @maleldil1
      @maleldil1 24 дня назад

      People prefer inheritance because that's what they have been told in classes that focus too much on OO rather than general design principles. There's no real reason to use OO with tkinter other than slight convenience at the cost of overcomplicating your code structure. They're using implementation inheritance, which is a no-no in 99% of the cases where composition would accomplish the same while being much simpler.

  • @mlfelonzo9156
    @mlfelonzo9156 10 месяцев назад +1

    Sir i have a question on the main frame i don't under why you make 2 frames in side the other frame.?

  • @rishabhagnihotri6004
    @rishabhagnihotri6004 7 месяцев назад

    Amazing !!

  • @riccardoceolin7404
    @riccardoceolin7404 8 месяцев назад

    Can u explain how to open a new window from inside a class frame?

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

    Love it

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

    How do you reset/clear contents of the variables that are within a method within a class though?

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

    is it possible to write procedural programming code alongside object-oriented programming (OOP) in the same Tkinter project

  • @DifferentThinker
    @DifferentThinker Год назад +1

    can i know, what is the purpose to write this code using classes other than normal approch (using functions)....

    • @crowxar
      @crowxar 4 месяца назад

      Classes make it easier to organize and change later rather then 1000 lines of clumped code

  • @2002budokan
    @2002budokan 9 месяцев назад

    Is it possible to set window size relative to actual screen size? Another words is it possible to write responsive apps with tkinter?

  • @nkwilk513
    @nkwilk513 7 месяцев назад

    I have been following the video but I didn't see any colours, so I downloaded and copy-pasted your code and everything displays except the colours. What could my error be? macbook pro late 2012 running macos big sur

    • @nkwilk513
      @nkwilk513 7 месяцев назад

      I figured that on macOS I have to use ttk.Canvas if I want to display a colour

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

    I did it differently and it worked:
    from tkinter import *
    class App(Tk): ....
    class Menu(Frame): .....
    And for widgets:
    Button() not ttk.Button
    Label() not ttk.Label()
    Is it okay or can various problems/conflicts appear in the development of an application?

  • @ufuomamadagwa7785
    @ufuomamadagwa7785 4 месяца назад

    i replicated the code and adde image as a button but it wont work

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

    Thanks for this video _/\_

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

    thank you

  • @gedtoon6451
    @gedtoon6451 10 месяцев назад

    the link to the source code does not work.

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

    My man, I am stuck on something, Since "Menu" class is somehow unrelated to the "Main" Class but instead share a common super class "App", i want a button on the "Menu" Class to call a method on the "Main" class, how do I do That since Main is not a child of Menu?
    Thanks for this amazing video!!

  • @tehseenbaig3198
    @tehseenbaig3198 10 месяцев назад

    sir i have a question, i need to make buttons which can bring frames in the parent frame. means when we press the button we show frame, and further place buttons in that frame, to bring more frame. i cannot achieve this approach. please upload this kind of tutorial

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

    while making this video, the owner of dog "michell" died

  • @nramananful
    @nramananful 8 месяцев назад

    sir, GoogMorning, i'm very beginner to Python
    you are explaining passing tk.Tk as argument in the Class App(tk.Tk) and
    you are passing self i.,e, tk.Tk, into menu = Menu(self) here self = tk.Tk ??,
    but in Class Menu(ttk.Frame), the constructor of Menu is def__init__(self, parent) i'm confusing,
    in class Menu(ttk.Frame) the argument should be tk.Tk how the ttk.Frame will come, in java not like this,
    can you clarify??

  • @lynny7868
    @lynny7868 10 месяцев назад

    7:50