Python Tkinter GUI Design Using ttkbootstrap - Complete Course

Поділитися
Вставка
  • Опубліковано 6 лип 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

КОМЕНТАРІ • 127

  • @nisidabay
    @nisidabay 11 місяців тому +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.

  • @davesrambla3781
    @davesrambla3781 8 місяців тому +1

    This is amazing! Love your TKINTER content.

  • @doBobro
    @doBobro 4 місяці тому

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

  • @mortyrickerson6322
    @mortyrickerson6322 11 місяців тому +10

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

  • @alouiyaz
    @alouiyaz 7 місяців тому +1

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

  • @dalefernandez19
    @dalefernandez19 10 місяців тому

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

  • @sourabhshrivastava61
    @sourabhshrivastava61 11 місяців тому +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 9 місяців тому

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

  • @Ic37r011
    @Ic37r011 11 місяців тому +4

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

    • @TkinterPython
      @TkinterPython 11 місяців тому +1

      Glad you enjoyed it!

    • @user-st5ph4vu1d
      @user-st5ph4vu1d 7 місяців тому

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

  • @DiogoSBastos
    @DiogoSBastos 7 місяців тому

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

  • @FatemehDamarchilou
    @FatemehDamarchilou 11 місяців тому +2

    There's no word that can thank you enough

  • @krishnapatil597
    @krishnapatil597 10 місяців тому

    Thanks for creating complete course

  • @flioink
    @flioink Годину тому

    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.

  • @petr0_775
    @petr0_775 14 днів тому

    thx, you are the best!

  • @charlesspringer4709
    @charlesspringer4709 7 місяців тому +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 6 місяців тому

      You mean I should watch it 3hrs straight?

    • @freesoftwares6042
      @freesoftwares6042 2 місяці тому

      but he does cover it in a minute

    • @charlesspringer4709
      @charlesspringer4709 2 місяці тому +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 2 місяці тому

      @@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 2 місяці тому

      @@freesoftwares6042 It is my hopeless personal crusade to save many man years and improve comprehension on UA-cam. 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..."

  • @c.emmanuelzuniga9435
    @c.emmanuelzuniga9435 11 місяців тому +1

    Excelente tuto

  • @mayorc
    @mayorc 11 місяців тому +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 11 місяців тому +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 11 місяців тому +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 7 місяців тому +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.

  • @putgun
    @putgun 11 місяців тому

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

  • @mustaphaELHOURA
    @mustaphaELHOURA 9 місяців тому +1

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

  • @carlosalbertodossantosrodr6416
    @carlosalbertodossantosrodr6416 11 місяців тому +2

    Python perfeito na informação

  • @user-sr1sq4je2t
    @user-sr1sq4je2t 5 місяців тому

    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.

  • @opemipodurodola
    @opemipodurodola 11 місяців тому +2

    About time

  • @saberalavy6383
    @saberalavy6383 7 місяців тому

    really nice 🙏

  • @timthegreatone
    @timthegreatone 4 місяці тому

    Beautiful

  • @gabluz
    @gabluz 11 місяців тому +1

    That teacher is one of my favorite.

  • @EinarBordewich
    @EinarBordewich 10 місяців тому

    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?

  • @artaxerxes360
    @artaxerxes360 11 місяців тому +8

    This looks way better than customtkinter project

  • @ddjazz
    @ddjazz 8 місяців тому

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

  • @user-qj3ot2ii9d
    @user-qj3ot2ii9d 8 місяців тому

    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!

  • @0xBerto
    @0xBerto 6 місяців тому +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

  • @RagingGamingBear
    @RagingGamingBear 8 місяців тому

    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?

  • @jcourt2006
    @jcourt2006 9 місяців тому

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

  • @henrikstornblom
    @henrikstornblom 11 місяців тому

    This video was COOL 😎

  • @willychrosnik1925
    @willychrosnik1925 9 місяців тому

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

  • @kameleltohamy
    @kameleltohamy 11 місяців тому

    Kivy stands out

  • @Ravi-pe9oi
    @Ravi-pe9oi 11 місяців тому

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

  • @TomKnudsen
    @TomKnudsen 9 місяців тому

    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

  • @philippfarag
    @philippfarag 4 місяці тому

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

  • @MohammedAbdulsayed
    @MohammedAbdulsayed 5 місяців тому

    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.

  • @akhilnautiyal1544
    @akhilnautiyal1544 8 місяців тому

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

  • @BrianGarside
    @BrianGarside 8 місяців тому

    How do you control the layout of the widgets?

  • @efraildokme
    @efraildokme 5 місяців тому +1

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

  • @mofear4874
    @mofear4874 6 місяців тому

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

  • @iraf.official
    @iraf.official Місяць тому

    😎😎👌👌

  • @exploring_world4353
    @exploring_world4353 7 місяців тому

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

  • @johncongerton7046
    @johncongerton7046 8 місяців тому

    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 2 місяці тому

      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?

  • @StarMovies-HD_
    @StarMovies-HD_ 11 місяців тому

    Please make video on Reverse engineering

  • @Lunolux
    @Lunolux 11 місяців тому

    thxx

  • @cjstewart4024
    @cjstewart4024 11 місяців тому +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 11 місяців тому +2

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

    • @jaminsurqhart8892
      @jaminsurqhart8892 11 місяців тому +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 11 місяців тому +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"

  • @mirkoruhl9324
    @mirkoruhl9324 11 місяців тому

    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 11 місяців тому

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

  • @ROKKor-hs8tg
    @ROKKor-hs8tg 7 місяців тому

    How can any graphical interface be used in Google colab

  • @_Sparrowsky
    @_Sparrowsky 3 місяці тому

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

  • @rasiyanin
    @rasiyanin 5 місяців тому +1

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

  • @aloobikano794
    @aloobikano794 7 місяців тому

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

  • @jorge1869
    @jorge1869 11 місяців тому

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

    • @TkinterPython
      @TkinterPython 11 місяців тому

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

    • @jorge1869
      @jorge1869 11 місяців тому

      @@TkinterPython I fixed it

  • @BeanCoffeeBean
    @BeanCoffeeBean 11 місяців тому

    Sublime Test Unregistered xD

  • @JokerPandaaOfficial
    @JokerPandaaOfficial 11 місяців тому

    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

  • @amyn86
    @amyn86 9 місяців тому

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

  • @PANDURANG99
    @PANDURANG99 11 місяців тому +1

    is it easy to convert into exe or deploy

    • @harminoffendl
      @harminoffendl 11 місяців тому +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!

  • @SomeTechGuy666
    @SomeTechGuy666 11 місяців тому

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

    • @filipemtx
      @filipemtx 11 місяців тому

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

    • @SomeTechGuy666
      @SomeTechGuy666 11 місяців тому +1

      @@filipemtx Only for applications that get sold commercially.

    • @freecodecamp
      @freecodecamp  11 місяців тому +3

      Here is a course about how to use Qt for Python using PySide6: ua-cam.com/video/Z1N9JzNax2k/v-deo.html

  • @monuthakur7649
    @monuthakur7649 11 місяців тому +1

    Which ide used in this course?

    • @TkinterPython
      @TkinterPython 11 місяців тому +1

      Just sublime text and the Git Bash Terminal

  • @manishsharma-ri6bf
    @manishsharma-ri6bf 11 місяців тому

    🎉🎉🎉🎉

  • @imbadatcod7208
    @imbadatcod7208 11 місяців тому

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

    • @TkinterPython
      @TkinterPython 11 місяців тому

      Not outdated anymore, because of this library.

    • @imbadatcod7208
      @imbadatcod7208 11 місяців тому

      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

  • @user-jn2ov4pd1x
    @user-jn2ov4pd1x 11 місяців тому +2

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

  • @arturosaavedra7198
    @arturosaavedra7198 11 місяців тому

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

    • @jorge1869
      @jorge1869 11 місяців тому +5

      Aprende inglés.

  • @samuelpope7798
    @samuelpope7798 7 місяців тому

    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.

  • @Mhmhind
    @Mhmhind 11 місяців тому

    Using C++?

  • @tigidou3344
    @tigidou3344 6 місяців тому

    TKinter always missing manager for system tray. Huge lack.

  • @ysmerde2933
    @ysmerde2933 11 місяців тому

    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

  • @Gameplay-st7ve
    @Gameplay-st7ve 5 місяців тому

    is ttkbootstrap safe ?

  • @AwkwardTruths
    @AwkwardTruths 3 місяці тому

    Python Gui

  • @WarriorRev11
    @WarriorRev11 11 місяців тому

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

  • @spanishflare
    @spanishflare 11 місяців тому

    Hello

  • @spanishflare
    @spanishflare 11 місяців тому

    Furst comeentt🎉🎉🎉

  • @justheretocomment6410
    @justheretocomment6410 6 місяців тому

    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.

  • @zoenagy9458
    @zoenagy9458 11 місяців тому +1

    this is tedious, what about UI editor?

    • @lmnts556
      @lmnts556 11 місяців тому

      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.

  • @mh-tr5fb
    @mh-tr5fb 11 місяців тому +3

    Isn't tkinter obsolete?

    • @TkinterPython
      @TkinterPython 11 місяців тому +1

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

    • @lmnts556
      @lmnts556 11 місяців тому

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

    • @TkinterPython
      @TkinterPython 11 місяців тому

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

    • @lmnts556
      @lmnts556 11 місяців тому

      @@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 11 місяців тому

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

  • @savilathsamounty5186
    @savilathsamounty5186 11 місяців тому

    🎉

  • @iraf.official
    @iraf.official Місяць тому

    2024.

  • @fomofilter
    @fomofilter 6 місяців тому

    Cant add ttkbootstrap to anaconda?

  • @samuelallen1402
    @samuelallen1402 6 місяців тому

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

  • @user-ck1gv9yt9x
    @user-ck1gv9yt9x 6 місяців тому +15

    Imagine calling tcl/tk "modern"

  • @basicguy5785
    @basicguy5785 6 місяців тому +3

    Tkinter and modern do not belong in the same sentence.

    • @lumos758
      @lumos758 6 місяців тому

      😂😂

  • @andylem
    @andylem 6 місяців тому

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

  • @bvds2007
    @bvds2007 7 місяців тому +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.

  • @ItsGoodToBeHater
    @ItsGoodToBeHater 14 днів тому

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

  • @v2ike6udik
    @v2ike6udik 10 місяців тому

    2:38:09 great suckess

  • @professorx9932
    @professorx9932 11 місяців тому

    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'