Python Tkinter GUI Design Using ttkbootstrap - Complete Course

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
    @nisidabay11 ай бұрын

    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
    @davesrambla37818 ай бұрын

    This is amazing! Love your TKINTER content.

  • @doBobro
    @doBobro4 ай бұрын

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

  • @mortyrickerson6322
    @mortyrickerson632211 ай бұрын

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

  • @alouiyaz
    @alouiyaz7 ай бұрын

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

  • @dalefernandez19
    @dalefernandez1910 ай бұрын

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

  • @sourabhshrivastava61
    @sourabhshrivastava6111 ай бұрын

    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
    @dumpy19809 ай бұрын

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

  • @Ic37r011
    @Ic37r01111 ай бұрын

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

  • @TkinterPython

    @TkinterPython

    11 ай бұрын

    Glad you enjoyed it!

  • @user-st5ph4vu1d

    @user-st5ph4vu1d

    7 ай бұрын

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

  • @DiogoSBastos
    @DiogoSBastos7 ай бұрын

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

  • @FatemehDamarchilou
    @FatemehDamarchilou11 ай бұрын

    There's no word that can thank you enough

  • @TkinterPython

    @TkinterPython

    11 ай бұрын

    Welcome

  • @krishnapatil597
    @krishnapatil59710 ай бұрын

    Thanks for creating complete course

  • @flioink
    @flioink3 сағат бұрын

    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_77514 күн бұрын

    thx, you are the best!

  • @charlesspringer4709
    @charlesspringer47097 ай бұрын

    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 ай бұрын

    @@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 KZread. 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.emmanuelzuniga943511 ай бұрын

    Excelente tuto

  • @mayorc
    @mayorc11 ай бұрын

    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 ай бұрын

    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 ай бұрын

    ​@@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
    @vladmakrov83947 ай бұрын

    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
    @putgun11 ай бұрын

    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
    @mustaphaELHOURA9 ай бұрын

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

  • @carlosalbertodossantosrodr6416
    @carlosalbertodossantosrodr641611 ай бұрын

    Python perfeito na informação

  • @user-sr1sq4je2t
    @user-sr1sq4je2t5 ай бұрын

    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
    @opemipodurodola11 ай бұрын

    About time

  • @saberalavy6383
    @saberalavy63837 ай бұрын

    really nice 🙏

  • @timthegreatone
    @timthegreatone4 ай бұрын

    Beautiful

  • @gabluz
    @gabluz11 ай бұрын

    That teacher is one of my favorite.

  • @TkinterPython

    @TkinterPython

    11 ай бұрын

    Thanks!

  • @EinarBordewich
    @EinarBordewich10 ай бұрын

    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
    @artaxerxes36011 ай бұрын

    This looks way better than customtkinter project

  • @ddjazz
    @ddjazz8 ай бұрын

    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-qj3ot2ii9d8 ай бұрын

    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
    @0xBerto6 ай бұрын

    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
    @RagingGamingBear8 ай бұрын

    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
    @jcourt20069 ай бұрын

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

  • @henrikstornblom
    @henrikstornblom11 ай бұрын

    This video was COOL 😎

  • @TkinterPython

    @TkinterPython

    11 ай бұрын

    Thanks!

  • @willychrosnik1925
    @willychrosnik19259 ай бұрын

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

  • @kameleltohamy
    @kameleltohamy11 ай бұрын

    Kivy stands out

  • @Ravi-pe9oi
    @Ravi-pe9oi11 ай бұрын

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

  • @TomKnudsen
    @TomKnudsen9 ай бұрын

    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
    @philippfarag4 ай бұрын

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

  • @MohammedAbdulsayed
    @MohammedAbdulsayed5 ай бұрын

    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
    @akhilnautiyal15448 ай бұрын

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

  • @BrianGarside
    @BrianGarside8 ай бұрын

    How do you control the layout of the widgets?

  • @efraildokme
    @efraildokme5 ай бұрын

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

  • @mofear4874
    @mofear48746 ай бұрын

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

  • @iraf.official
    @iraf.officialАй бұрын

    😎😎👌👌

  • @exploring_world4353
    @exploring_world43537 ай бұрын

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

  • @johncongerton7046
    @johncongerton70468 ай бұрын

    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
    @Lunolux11 ай бұрын

    thxx

  • @cjstewart4024
    @cjstewart402411 ай бұрын

    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 ай бұрын

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

  • @jaminsurqhart8892

    @jaminsurqhart8892

    11 ай бұрын

    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 ай бұрын

    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
    @mirkoruhl932411 ай бұрын

    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-hs8tg7 ай бұрын

    How can any graphical interface be used in Google colab

  • @_Sparrowsky
    @_Sparrowsky3 ай бұрын

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

  • @rasiyanin
    @rasiyanin5 ай бұрын

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

  • @aloobikano794
    @aloobikano7947 ай бұрын

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

  • @jorge1869
    @jorge186911 ай бұрын

    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
    @BeanCoffeeBean11 ай бұрын

    Sublime Test Unregistered xD

  • @JokerPandaaOfficial
    @JokerPandaaOfficial11 ай бұрын

    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
    @amyn869 ай бұрын

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

  • @PANDURANG99
    @PANDURANG9911 ай бұрын

    is it easy to convert into exe or deploy

  • @harminoffendl

    @harminoffendl

    11 ай бұрын

    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
    @SomeTechGuy66611 ай бұрын

    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 ай бұрын

    @@filipemtx Only for applications that get sold commercially.

  • @freecodecamp

    @freecodecamp

    11 ай бұрын

    Here is a course about how to use Qt for Python using PySide6: kzread.info/dash/bejne/jGWCm6yzfsTeYs4.html

  • @monuthakur7649
    @monuthakur764911 ай бұрын

    Which ide used in this course?

  • @TkinterPython

    @TkinterPython

    11 ай бұрын

    Just sublime text and the Git Bash Terminal

  • @manishsharma-ri6bf
    @manishsharma-ri6bf11 ай бұрын

    🎉🎉🎉🎉

  • @imbadatcod7208
    @imbadatcod720811 ай бұрын

    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-jn2ov4pd1x11 ай бұрын

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

  • @arturosaavedra7198
    @arturosaavedra719811 ай бұрын

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

  • @jorge1869

    @jorge1869

    11 ай бұрын

    Aprende inglés.

  • @samuelpope7798
    @samuelpope77987 ай бұрын

    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
    @Mhmhind11 ай бұрын

    Using C++?

  • @tigidou3344
    @tigidou33446 ай бұрын

    TKinter always missing manager for system tray. Huge lack.

  • @ysmerde2933
    @ysmerde293311 ай бұрын

    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-st7ve5 ай бұрын

    is ttkbootstrap safe ?

  • @AwkwardTruths
    @AwkwardTruths3 ай бұрын

    Python Gui

  • @WarriorRev11
    @WarriorRev1111 ай бұрын

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

  • @spanishflare
    @spanishflare11 ай бұрын

    Hello

  • @spanishflare
    @spanishflare11 ай бұрын

    Furst comeentt🎉🎉🎉

  • @justheretocomment6410
    @justheretocomment64106 ай бұрын

    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
    @zoenagy945811 ай бұрын

    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-tr5fb11 ай бұрын

    Isn't tkinter obsolete?

  • @TkinterPython

    @TkinterPython

    11 ай бұрын

    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
    @savilathsamounty518611 ай бұрын

    🎉

  • @iraf.official
    @iraf.officialАй бұрын

    2024.

  • @fomofilter
    @fomofilter6 ай бұрын

    Cant add ttkbootstrap to anaconda?

  • @samuelallen1402
    @samuelallen14026 ай бұрын

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

  • @user-ck1gv9yt9x
    @user-ck1gv9yt9x6 ай бұрын

    Imagine calling tcl/tk "modern"

  • @basicguy5785
    @basicguy57856 ай бұрын

    Tkinter and modern do not belong in the same sentence.

  • @lumos758

    @lumos758

    6 ай бұрын

    😂😂

  • @andylem
    @andylem6 ай бұрын

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

  • @bvds2007
    @bvds20077 ай бұрын

    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
    @ItsGoodToBeHater14 күн бұрын

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

  • @v2ike6udik
    @v2ike6udik10 ай бұрын

    2:38:09 great suckess

  • @professorx9932
    @professorx993211 ай бұрын

    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'