Python Tkinter GUI Design Using ttkbootstrap - Complete Course

Sdílet
Vložit
  • čas přidán 20. 07. 2024
  • Learn how to easily implement modern designs in your Tkinter-based Python applications using ttkbootstrap.
    You will learn how to use all the main ttkbootstrap widgets to make your Tkinter apps look modern and awesome!
    ✏️ Course developed by ‪@TkinterPython‬
    ⭐️ Contents ⭐️
    ⌨️ (0:00:00) Introduction
    ⌨️ (0:09:07) Labels and Buttons
    ⌨️ (0:19:59) CheckButtons
    ⌨️ (0:29:50) Resizing Buttons
    ⌨️ (0:35:46) Combo Boxes
    ⌨️ (0:42:52) Entry Boxes
    ⌨️ (0:48:58) Floodgauge
    ⌨️ (0:58:29) Date Entry
    ⌨️ (1:08:37) Frames and Labels
    ⌨️ (1:14:31) Menu Buttons
    ⌨️ (1:23:50) Meters
    ⌨️ (1:37:53) Notebooks
    ⌨️ (1:44:13) Progress Bars
    ⌨️ (1:59:24) Radio Buttons
    ⌨️ (2:10:46) Sliders
    ⌨️ (2:19:05) Scrollbars
    ⌨️ (2:24:58) Separators and Sizegrips
    ⌨️ (2:31:19) Spinboxes
    ⌨️ (2:39:01) Treeview
    ⌨️ (2:45:52) Message Boxes
    ⌨️ (2:57:30) Color Chooser
    ⌨️ (3:05:52) Scrolled Text
    ⌨️ (3:12:08) Scrolled Frame
    ⌨️ (3:17:39) Toast Messages
    ⌨️ (3:23:14) Conclusion
    🎉 Thanks to our Champion and Sponsor supporters:
    👾 davthecoder
    👾 jedi-or-sith
    👾 南宮千影
    👾 Agustín Kussrow
    👾 Nattira Maneerat
    👾 Heather Wcislo
    👾 Serhiy Kalinets
    👾 Justin Hual
    👾 Otis Morgan
    --
    Learn to code for free and get a developer job: www.freecodecamp.org
    Read hundreds of articles on programming: freecodecamp.org/news

Komentáře • 128

  • @nisidabay
    @nisidabay Před rokem +16

    This guy is amazing; he overflows with passion for what he does and is a benchmark in everything related to tkinter. I don't know if it's because of the speed with which he teaches that he chooses procedural programming instead of object-oriented programming. Anyway, this is the magic of Python, choosing what makes you happy.

  • @mortyrickerson6322
    @mortyrickerson6322 Před rokem +10

    This channel is a blessing to humanity. Good work team!

  • @davesrambla3781
    @davesrambla3781 Před 9 měsíci +1

    This is amazing! Love your TKINTER content.

  • @alouiyaz
    @alouiyaz Před 8 měsíci +1

    great, I've just finished a program and I've struggled in the graphics section until I found this turotrial.

  • @dalefernandez19
    @dalefernandez19 Před 10 měsíci

    Wish u were my programing lecturer.Lessons would have been so much interesting.Truly grateful for this tutorial.❤

  • @doBobro
    @doBobro Před 5 měsíci

    This is the best tkinter introduction. ttkbootstrap is a cherry on top.

  • @Ic37r011
    @Ic37r011 Před rokem +4

    This is AWESOME. Wow what a professional well presented masterclass. Thanks friend.

    • @TkinterPython
      @TkinterPython Před rokem +1

      Glad you enjoyed it!

    • @user-st5ph4vu1d
      @user-st5ph4vu1d Před 8 měsíci

      @@TkinterPython Hey brother ! Does this teach tkinter and ttkbootstrap from beggining?

  • @sourabhshrivastava61
    @sourabhshrivastava61 Před rokem +1

    Your teaching style is so good sir😂😂 i can't even feel bore for a single second❤ i enjoyed and learned so much about gui thanku sir for this great lecture 😊

  • @dumpy1980
    @dumpy1980 Před 9 měsíci

    Love your TKINTER book and content. You are awesome. 🥰

  • @flioink
    @flioink Před 13 dny

    Alright, this was useful.
    Thinking of ideas to apply these cool widgets to.
    My only nitpick with Tkinter would be that there are no rounded buttons built-in. But that's likely not too hard to add with custom images.

  • @DiogoSBastos
    @DiogoSBastos Před 7 měsíci

    Lex Luthor, I love your content. Always helpfull and understandable. Thank you so much.

  • @FatemehDamarchilou
    @FatemehDamarchilou Před rokem +2

    There's no word that can thank you enough

  • @krishnapatil597
    @krishnapatil597 Před 10 měsíci

    Thanks for creating complete course

  • @user-sr1sq4je2t
    @user-sr1sq4je2t Před 6 měsíci

    Hi John, as usual thanks a lot for your great video !!! I have a question about progressbar, is it possible to get the progressbar's value and print it like for sliders ? many thanks.

  • @mayorc
    @mayorc Před rokem +14

    Looks cool, but recently after a long time using Tkinter and bimpy (Dear ImGui wrapper for Python) I switched to NiceGUI, I find it easier to customize, using QUASAR and Tailwind CSS classes. It has some limits, and sure Tkinter is a bit faster. But the power to customize things using HTML, CSS and Javascript libraries, VUE components, makes it very good.

    • @basscoversimulation3167
      @basscoversimulation3167 Před rokem +1

      I am a Web Developer, I don't understand the reason for all these, are they used to build websites?....I know tkinter is used to build desktop applications.

    • @mayorc
      @mayorc Před rokem +1

      ​@@basscoversimulation3167 NiceGUI is built on top of FASTAPI, it can be used to create both LOCAL apps running on your localhost, and Web Services. So in my case, it's a better deal. But think about this, there is no perfect solutions or frameworks. Every solution has some limits that in some circumstances can become dealbreakers.

  • @vladmakrov8394
    @vladmakrov8394 Před 8 měsíci +1

    Amazing tutorial, thanks a lot. I have a question, i would like to use the localization in French. (C:\Python310\Lib\site-packages\ttkbootstrap\localization\msgs.py) How can i do that in my main.py? Thank you again.

  • @mustaphaELHOURA
    @mustaphaELHOURA Před 9 měsíci +1

    Hi thank you so much sir, The themes of TTKBootstrap do not apply to a second window opened from the first one.

  • @charlesspringer4709
    @charlesspringer4709 Před 7 měsíci +2

    I will have to try it. Free tip: Please don't make forward references like "I'll cover that in a minute", "I'll go over that later", etc. It breaks comprehension and distracts it with an expectation.

    • @kodiak809
      @kodiak809 Před 7 měsíci

      You mean I should watch it 3hrs straight?

    • @freesoftwares6042
      @freesoftwares6042 Před 2 měsíci

      but he does cover it in a minute

    • @charlesspringer4709
      @charlesspringer4709 Před 2 měsíci +1

      @@freesoftwares6042 Yes, but why should I be thinking about it? Is there no content while I wait for it? It is weak pedagogy.

    • @freesoftwares6042
      @freesoftwares6042 Před 2 měsíci

      @@charlesspringer4709 sir you are right 100% it could be better , with that said give him a break hes sharing free knowledge for everyone to learn from and enjoy

    • @charlesspringer4709
      @charlesspringer4709 Před 2 měsíci

      @@freesoftwares6042 It is my hopeless personal crusade to save many man years and improve comprehension on CZcams. The targets are forward references and using the word "what" when not asking a question such as "What you want to do now is you want to..."

  • @artaxerxes360
    @artaxerxes360 Před rokem +8

    This looks way better than customtkinter project

  • @0xBerto
    @0xBerto Před 7 měsíci +2

    But, can you show packaging this and exporting as an executable to be installed cross-platform? Because I haven’t gotten Pyinstaller to work… ever hahahha

  • @putgun
    @putgun Před 11 měsíci

    Hi there: I have encountered problem of "ValueError: embedded null byte" while I clicked calendar in episode: Date Entry. The error message showed that Date entry text does not match %x. Could you help me out? Thanks!!!

  • @c.emmanuelzuniga9435
    @c.emmanuelzuniga9435 Před rokem +1

    Excelente tuto

  • @opemipodurodola
    @opemipodurodola Před rokem +2

    About time

  • @Ravi-pe9oi
    @Ravi-pe9oi Před rokem

    Sir please teach you how to make an responsive navbar with right corner hamburger and icon using ttkboostrap

  • @carlosalbertodossantosrodr6416

    Python perfeito na informação

  • @user-qj3ot2ii9d
    @user-qj3ot2ii9d Před 8 měsíci

    Hello! Please help me how to correctly solve the administration problem, for example, use Python,QT, PostgreSQL. Please recommend an algorithm for organizing an access level for adesktop application where different interface components are included in different access classes, and when a new user is added, he will be included in one of these classes, and for him there will be Only components that are included in this access class are accessible. The question is, in order to implement this, what algorithm can be supported, or if there is documentation that can help resolve this issue. Thank you very much in advance!

  • @jcourt2006
    @jcourt2006 Před 10 měsíci

    Hallo Good course and Notice you like the bootstyle danger. The Toast Notification section
    is not working in Microsof Visual Basic 2022.

  • @EinarBordewich
    @EinarBordewich Před 11 měsíci

    After installing tkbootstrap and trying you first example i got this error: "unsupported locale setting" and it refers to line 626 in a file "locale,py" with the function "setlocale return _setlocale(category, locale)" - How can I fix this in windows?

  • @efraildokme
    @efraildokme Před 6 měsíci +1

    why python doesn't use drag and drop tecnology on devoloping user interface.

  • @ddjazz
    @ddjazz Před 9 měsíci

    In the first example the label has alternating text , but no timer is used , still it averages about 2/sec how does that work?

  • @willychrosnik1925
    @willychrosnik1925 Před 10 měsíci

    Is there a way to get live preview while coding for ttkbootstrap?

  • @gabluz
    @gabluz Před rokem +1

    That teacher is one of my favorite.

  • @BrianGarside
    @BrianGarside Před 8 měsíci

    How do you control the layout of the widgets?

  • @RagingGamingBear
    @RagingGamingBear Před 8 měsíci

    is there a way that i can use tkinter to make hotkeys, or to activate a button etc that the user can change to what they want?

  • @akhilnautiyal1544
    @akhilnautiyal1544 Před 8 měsíci

    There is one another video on tkinter,
    which video should i learn from?

  • @TomKnudsen
    @TomKnudsen Před 10 měsíci

    FYI.. You do not mention how to change fonts in ttkbootstrap checkboxes. For some reason it produces an error when font= is applied as you would in tkinter

  • @timthegreatone
    @timthegreatone Před 5 měsíci

    Beautiful

  • @rasiyanin
    @rasiyanin Před 5 měsíci +1

    3 hours to create simple GUI form with 6 buttons? Why when exist Delphi or the same?

  • @saberalavy6383
    @saberalavy6383 Před 7 měsíci

    really nice 🙏

  • @johncongerton7046
    @johncongerton7046 Před 8 měsíci

    it looks to me like the style configure at 34.03 changes the success.TButton from there on, so that subsequent use picks up the changed font. my_style is unreferenced

    • @kostaskiritsis6558
      @kostaskiritsis6558 Před 3 měsíci

      I 've got the same trouble to my app. Here it looks also that there are not separators between the column headers. Actually there are but are invisible!!! Please ms Elder is there any solution to that?

  • @mechmat8552
    @mechmat8552 Před 3 dny

    bootsyle does not work for me! any change of style does not work. has any one fixed this issue?

  • @petr0_775
    @petr0_775 Před 28 dny

    thx, you are the best!

  • @philippfarag
    @philippfarag Před 4 měsíci

    the bootstyle doesn't work on the labels of the other extra window i open, for example about window :(

  • @exploring_world4353
    @exploring_world4353 Před 8 měsíci

    How do you add a logo to the title using Tkinter? Could you please help me with this?

  • @henrikstornblom
    @henrikstornblom Před rokem

    This video was COOL 😎

  • @MohammedAbdulsayed
    @MohammedAbdulsayed Před 6 měsíci

    I have this error that says tk.tcl error unkown option...
    So in general bootstyle is the issue but when I use button also font is unkown option. So how to solve it.

  • @mofear4874
    @mofear4874 Před 6 měsíci

    is the "watch later" feature gone? I can't find the icon anywhere from the browser

  • @ROKKor-hs8tg
    @ROKKor-hs8tg Před 7 měsíci

    How can any graphical interface be used in Google colab

  • @cjstewart4024
    @cjstewart4024 Před rokem +2

    Getting this error at 1:24:00,
    "AttributeError: module 'PIL.Image' has no attribute 'CUBIC'. Did you mean: 'BICUBIC'?"
    I had to go into the library and change that line from Image.CUBIC to Image.BICUBIC.
    The path is "./.venv/Lib/site-packages/ttkbootstrap/widgets.py" and was on line 856.

    • @mirkoruhl9324
      @mirkoruhl9324 Před rokem +2

      Seems like it was from a recent update of PIL. Should be fixed itself anytime soon

    • @jaminsurqhart8892
      @jaminsurqhart8892 Před rokem +1

      In the meantime add this to imports:
      from PIL import Image # until ttkbootstrap (currect 1.10.1) is fixed for
      Image.CUBIC = Image.BICUBIC # depreciated CUBIC in PIL, we need these two lines.
      Got this from stackoverflow..

    • @rafaelgranado4168
      @rafaelgranado4168 Před 11 měsíci +1

      Today is your lucky day friend. Click on the Meters class and go to the definition, then find "CUBIC" and change it to "BICUBIC"

  • @StarMovies-HD_
    @StarMovies-HD_ Před rokem

    Please make video on Reverse engineering

  • @_Sparrowsky
    @_Sparrowsky Před 3 měsíci

    Nice but you don't have to run project in cmd. Ctrl+B in SublimeText works ;)

  • @Lunolux
    @Lunolux Před rokem

    thxx

  • @mirkoruhl9324
    @mirkoruhl9324 Před rokem

    I get this error trying to declare that variable from 21:28
    "Traceback (most recent call last):
    File "C:\Users\**\ttkbootstrap\main.py", line 22, in
    var1 = IntVar()
    ^^^^^^
    NameError: name 'IntVar' is not defined"

    • @mirkoruhl9324
      @mirkoruhl9324 Před rokem

      Fixed it.
      I had to change *var1 = IntVar()* to *var1 = tb.IntVar()*

  • @ItsGoodToBeHater
    @ItsGoodToBeHater Před 27 dny

    For Meters part add this at begining of code:
    from PIL import Image
    Image.CUBIC = Image.BICUBIC

  • @kameleltohamy
    @kameleltohamy Před 11 měsíci

    Kivy stands out

  • @aloobikano794
    @aloobikano794 Před 8 měsíci

    @02:45:38 the lin for TREEVIEW not working😢

  • @jorge1869
    @jorge1869 Před rokem

    I can't not run it on macbook M1, it gime this error: "locale.Error: unsupported locale setting"

    • @TkinterPython
      @TkinterPython Před rokem

      tkinter and ttkbootstrap run fine on mac, you must have done something differently from the video...

    • @jorge1869
      @jorge1869 Před rokem

      @@TkinterPython I fixed it

  • @draxler.a
    @draxler.a Před 9 měsíci

    the problem it look horrible in windows .. 7 8 and and i want my app to look awesome in all OS..

  • @PANDURANG99
    @PANDURANG99 Před rokem +1

    is it easy to convert into exe or deploy

    • @harminoffendl
      @harminoffendl Před rokem +1

      While Compiling to exe is easy in python, getting the exe signed is not (it's expensive), and because of that makes deploying not great and will trigger most anti-virus.
      Depending on what you are doing, Godot might be a good option to create a gui app!

  • @monuthakur7649
    @monuthakur7649 Před rokem +1

    Which ide used in this course?

    • @TkinterPython
      @TkinterPython Před rokem +1

      Just sublime text and the Git Bash Terminal

  • @JokerPandaaOfficial
    @JokerPandaaOfficial Před rokem

    I have one doubt anyone explain is this skill is worth ? Can i get job from this skill or its just a waste of time

  • @manishsharma-ri6bf
    @manishsharma-ri6bf Před rokem

    🎉🎉🎉🎉

  • @user-jn2ov4pd1x
    @user-jn2ov4pd1x Před 11 měsíci +2

    Python how to make Round Modern Button in less than 5 minutes 2023

  • @spanishflare
    @spanishflare Před rokem

    Furst comeentt🎉🎉🎉

  • @imbadatcod7208
    @imbadatcod7208 Před rokem

    any chance at a FLET course? since Tkinter is kind of outdated

    • @TkinterPython
      @TkinterPython Před rokem

      Not outdated anymore, because of this library.

    • @imbadatcod7208
      @imbadatcod7208 Před rokem

      Cool, but you cannot make android , iOS, desktop and web apps with just one codebase like with FLET, which is kind of new still and currently being developed

  • @Mhmhind
    @Mhmhind Před 11 měsíci

    Using C++?

  • @iraf.official
    @iraf.official Před 2 měsíci

    😎😎👌👌

  • @arturosaavedra7198
    @arturosaavedra7198 Před rokem

    PONGAN TRADUCCION AL ESPAÑOL POR FAVOR.. NO SE MUCHO INGLES Y ME CUESTA MUCHO SEGUIRLOS.

  • @tigidou3344
    @tigidou3344 Před 7 měsíci

    TKinter always missing manager for system tray. Huge lack.

  • @SomeTechGuy666
    @SomeTechGuy666 Před rokem

    You should do a course on using Qt and QtCreator. Much better than Tkinter.

    • @filipemtx
      @filipemtx Před rokem

      It's paid. 300+ dollars a month, or you have to open your code.

    • @SomeTechGuy666
      @SomeTechGuy666 Před rokem +1

      @@filipemtx Only for applications that get sold commercially.

    • @freecodecamp
      @freecodecamp  Před rokem +3

      Here is a course about how to use Qt for Python using PySide6: czcams.com/video/Z1N9JzNax2k/video.html

  • @tea_otomo
    @tea_otomo Před rokem

    Sublime Test Unregistered xD

  • @Gameplay-st7ve
    @Gameplay-st7ve Před 6 měsíci

    is ttkbootstrap safe ?

  • @WarriorRev11
    @WarriorRev11 Před rokem

    Is it me or the guy in thumbnail looking like gigachad.

  • @ysmerde2933
    @ysmerde2933 Před rokem

    If you a beginner unless you have a project in mind don’t do this course instead do front end if you already did do something more advanced have a good day

  • @spanishflare
    @spanishflare Před rokem

    Hello

  • @AwkwardTruths
    @AwkwardTruths Před 3 měsíci

    Python Gui

  • @savilathsamounty5186
    @savilathsamounty5186 Před rokem

    🎉

  • @samuelpope7798
    @samuelpope7798 Před 7 měsíci

    Any tkinter executable I make is seen as a virus. Across multiple machines and various different antivirus software. I think a web app makes more sense . Just as slow as tkinter but way more cross platform. And you can still use not only bootstrap but bootstrap with sass. If your program really is so demanding that a modern browser truly cant handle it you really should consider something in Rust or C++. Plenty of good cross platform GUI options available for those.

  • @zoenagy9458
    @zoenagy9458 Před rokem +1

    this is tedious, what about UI editor?

    • @lmnts556
      @lmnts556 Před 11 měsíci

      Even with QTdesigner and stuff like that you'll need to know some code. Most of them usually create too much code and you have to edit it anyway. Also with QT you have to pay for it to use it, which is BS.

  • @user-ck1gv9yt9x
    @user-ck1gv9yt9x Před 7 měsíci +15

    Imagine calling tcl/tk "modern"

  • @justheretocomment6410
    @justheretocomment6410 Před 6 měsíci

    How exactly is this easy lol? Visual Basic had a GUI designer that was EASY. Sure wish that type of GUI builder was included in the base Python installer.

  • @mh-tr5fb
    @mh-tr5fb Před rokem +3

    Isn't tkinter obsolete?

    • @TkinterPython
      @TkinterPython Před rokem +1

      obviously not lol that's the point of the video. TTKBootstrap makes it modern.

    • @lmnts556
      @lmnts556 Před rokem

      @@TkinterPython I found that tkinter sometimes flicker when dragging it around or switching back to it. Does that also happen with ttkbootstrap?

    • @TkinterPython
      @TkinterPython Před rokem

      @@lmnts556 No, Tkinter doesn't do that. That was an issue with your computer and/or display settings.

    • @lmnts556
      @lmnts556 Před rokem

      @@TkinterPython It does not happen when I drag it anymore but it does happen if I minimize it or maximize it over and over quickly, does not happen to other GUI. I'll try to see if the same thing happens to ttkbootstrap.

    • @TkinterPython
      @TkinterPython Před rokem

      @@lmnts556 why would you ever min and max it over and over quickly? Just don't do that.

  • @iraf.official
    @iraf.official Před 2 měsíci

    2024.

  • @fomofilter
    @fomofilter Před 6 měsíci

    Cant add ttkbootstrap to anaconda?

  • @basicguy5785
    @basicguy5785 Před 7 měsíci +3

    Tkinter and modern do not belong in the same sentence.

  • @samuelallen1402
    @samuelallen1402 Před 6 měsíci

    You take up too much real estate for viewing on a phone

  • @andylem
    @andylem Před 6 měsíci

    I stopped watching after import *. I thought this channel posts professional videos. I was wrong

  • @bvds2007
    @bvds2007 Před 7 měsíci +1

    I miss professional GUI standards. Nowadays most GUI’s look like crap and have terrible usability. Unfortunately most book/tutorials/video on Python GUI framework usually ignore proper design principles.

  • @v2ike6udik
    @v2ike6udik Před 10 měsíci

    2:38:09 great suckess

  • @professorx9932
    @professorx9932 Před 11 měsíci

    import _tkinter as tk
    m = tk.Tk()
    m.title('test')
    button= tk.Button(m, text= 'test', width = 25, command = m.destroy)
    button.pack()
    m.mainloop()
    Very basic but for some reasons says:
    Traceback (most recent call last):
    File "/Users/Leo/Library/Application Support/JetBrains/PyCharmCE2020.2/scratches/scratch_11.py", line 2, in
    m = tk.Tk()
    AttributeError: 'module' object has no attribute 'Tk'