Using tkinter with classes

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ธ.ค. 2022
  • This video will cover how to create complex tkinter layouts using all the layout methods (pack + grid + place) along with classes to organise them well.
    Code:
    github.com/clear-code-project...

ความคิดเห็น • 64

  • @jayramsey853
    @jayramsey853 5 หลายเดือนก่อน +16

    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 5 หลายเดือนก่อน

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

    • @electronyxinc2729
      @electronyxinc2729 หลายเดือนก่อน

      just found him today I like it

  • @TV-eh9fi
    @TV-eh9fi ปีที่แล้ว +14

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

  • @larsondavis8155
    @larsondavis8155 25 วันที่ผ่านมา

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

  • @mikeniemotka9547
    @mikeniemotka9547 4 หลายเดือนก่อน +1

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

  • @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 9 หลายเดือนก่อน +1

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

  • @TechWazza
    @TechWazza หลายเดือนก่อน

    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

  • @rickyusuf8696
    @rickyusuf8696 5 หลายเดือนก่อน +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!

  • @rishabhagnihotri6004
    @rishabhagnihotri6004 4 หลายเดือนก่อน +2

    The best video for tkinter till date🙏

  • @chanero-u8z
    @chanero-u8z หลายเดือนก่อน

    I get new understanding of tkinter, thanks you❤

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

  • @simonkroschel3662
    @simonkroschel3662 3 หลายเดือนก่อน

    This ist the BEST explanation i found on TH-cam.

  • @mayankb
    @mayankb หลายเดือนก่อน

    These are indeed worth in gold.. TH-cam algorithm sucks..

  • @strangerist2
    @strangerist2 3 หลายเดือนก่อน

    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.

  • @jacobjacob3
    @jacobjacob3 8 หลายเดือนก่อน

    Thank you for the video! It was super helpful.

  • @kendiener5447
    @kendiener5447 ปีที่แล้ว +1

    thank you!!! Explained very well.

  • @hoerbschmidt618
    @hoerbschmidt618 ปีที่แล้ว

    Great explanations!

  • @MariniSukamto
    @MariniSukamto 10 หลายเดือนก่อน +1

    Thank you. This is so helpful

  • @Ingo-ns3qp
    @Ingo-ns3qp ปีที่แล้ว +1

    Great Videos! I learnt a lot. Thank you

    • @natiadonay2104
      @natiadonay2104 ปีที่แล้ว

      are you beginner programmer like me?

  • @SkyOcean-lg7lt
    @SkyOcean-lg7lt 5 หลายเดือนก่อน

    Biggest help ever!

  • @joejoeman3645
    @joejoeman3645 ปีที่แล้ว

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

  • @rakesh.a.c
    @rakesh.a.c ปีที่แล้ว +1

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

  • @odams
    @odams ปีที่แล้ว

    Love you, literal live-saver

    • @natiadonay2104
      @natiadonay2104 ปีที่แล้ว

      are you beginner programmer like me?

    • @odams
      @odams ปีที่แล้ว

      @@natiadonay2104 kinda yeah

  • @rishabhagnihotri6004
    @rishabhagnihotri6004 4 หลายเดือนก่อน

    Amazing !!

  • @chriskeo392
    @chriskeo392 8 หลายเดือนก่อน

    Love it

  • @jbt8903
    @jbt8903 3 หลายเดือนก่อน

    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 3 หลายเดือนก่อน

      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

  • @notanumber-fy8mp
    @notanumber-fy8mp ปีที่แล้ว +2

    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!

  • @clarkey2203
    @clarkey2203 ปีที่แล้ว

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

  • @henryqiu227
    @henryqiu227 10 หลายเดือนก่อน

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

  • @mbamuukatjiri2262
    @mbamuukatjiri2262 ปีที่แล้ว

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

  • @mlfelonzo9156
    @mlfelonzo9156 6 หลายเดือนก่อน +1

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

  • @whyyouhavetobemad8569
    @whyyouhavetobemad8569 11 หลายเดือนก่อน

    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 7 หลายเดือนก่อน

      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.

  • @riccardoceolin7404
    @riccardoceolin7404 5 หลายเดือนก่อน

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

  • @Younes_SBIA
    @Younes_SBIA ปีที่แล้ว

    thank you

    • @natiadonay2104
      @natiadonay2104 ปีที่แล้ว +1

      are you beginner programmer like me?

  • @2002budokan
    @2002budokan 6 หลายเดือนก่อน

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

  • @vdi23
    @vdi23 10 หลายเดือนก่อน

    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?

  • @arataca3d
    @arataca3d หลายเดือนก่อน

    Thanks for this video _/\_

  • @2002budokan
    @2002budokan 6 หลายเดือนก่อน +1

    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.

  • @DifferentThinker
    @DifferentThinker 9 หลายเดือนก่อน +1

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

    • @crowxar
      @crowxar 17 วันที่ผ่านมา

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

  • @ufuomamadagwa7785
    @ufuomamadagwa7785 หลายเดือนก่อน

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

  • @nkwilk513
    @nkwilk513 3 หลายเดือนก่อน

    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 3 หลายเดือนก่อน

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

  • @gedtoon6451
    @gedtoon6451 7 หลายเดือนก่อน

    the link to the source code does not work.

  • @lynny7868
    @lynny7868 7 หลายเดือนก่อน

    7:50

  • @tehseenbaig3198
    @tehseenbaig3198 6 หลายเดือนก่อน

    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

  • @ermacheton
    @ermacheton 7 หลายเดือนก่อน

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

  • @user-gh7pr3wp4j
    @user-gh7pr3wp4j หลายเดือนก่อน

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

  • @nramananful
    @nramananful 5 หลายเดือนก่อน

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