5 Best Python GUI Libraries [Pros, Cons, and 5 Things to Consider to Choose]

Sdílet
Vložit
  • čas přidán 23. 07. 2024
  • Choosing the best Python GUI Library: Kivy, PyQt, PyGui, WxPython, Tkinter. 5 Things to consider, pros, and cons of each library.
    In this video, you will be able to choose between the most popular Python GUI libraries. You will:
    -Learn about Kivy
    -Learn about PyQt and PyQt5
    -Learn about WxPython
    -Learn about Tkinter
    -Learn about PyGUI
    Compare Kivy, PyQt5, WxPython, Tkinter, PyGUI pricing, capabilities, scalability, resources, platforms, features, and interfaces.
    Pros and cons of Kivy, PyQt5, WxPython, Tkinter, PyGUI.
    For suggestions or comments:
    My email: code.first.io@gmail.com
    *************
    *Tags*
    Python GUI
    Python GUI Libraries
    PyQt5
    Kivy
    WxPython
    Tkinter
    PyGUI
  • Věda a technologie

Komentáře • 147

  • @codefirstwithhala
    @codefirstwithhala  Před rokem +4

    Thank you all for watching ❤ Updated Top 7 Python GUI libraries in 2023 video: czcams.com/video/QPHtNqGNuX4/video.html

    • @JorgeEscobarMX
      @JorgeEscobarMX Před rokem

      I'm going to watch it righht now. I'm looking an alternative to tkinter since I'm building a chatbot app and performance and capability is lacking badly on tkinter.

  • @JonMcPhalen
    @JonMcPhalen Před 3 lety +150

    Would have loved to see a sample app using each of the frameworks discussed.

    • @blancostudio3d
      @blancostudio3d Před 3 lety +3

      I believe that is part of your research, you can't expect others to get your own job done, just put some effort

    • @Allstreamer_
      @Allstreamer_ Před 3 lety +52

      @@blancostudio3d oh come on

    • @vient9607
      @vient9607 Před 3 lety +42

      @@blancostudio3d It was a nice and useful tip not a complaint.
      Why are you so mad?

    • @peterbreis5407
      @peterbreis5407 Před 2 lety +17

      @@blancostudio3d Typical Linux/Developer response.

    • @lynic-0091
      @lynic-0091 Před 2 lety +1

      @@peterbreis5407 Pretty sure she's not a Linux developer lol

  • @jp-hh9xq
    @jp-hh9xq Před 3 lety +19

    Really great video. Been waiting for someone to make one so precise as this for a long time. Thank you! Thank you! Thank you!

  • @cheaterman49
    @cheaterman49 Před 3 lety +9

    I'm halfway in so far, and this is a very good presentation! The only nitpick (or call it a bit of trivia maybe?) is that Kivy was actually invented to be used on large, horizontal multitouch surfaces (think a 80" TV with a multitouch frame, laying on a table). Kivy is kind of the only of these frameworks I can vouch for, but the multiplatform aspect is _massively_ important (and quite underrated too) in real-life scenarios, industrial or enterprise included (or especially). Speaking of larger scale, I suspect PyQT has better documentation and support for enterprise-oriented features, like headless packaging in CI, and general coding practices that encourage testability ; but Kivy probably comes close second there, with good tools like Telenium and some mostly-working headless packaging for all platforms (iOS possibly being the one exception here).

  • @robin9436
    @robin9436 Před 3 lety +8

    This is awesome, thanks a lot for putting so much effort into your explanations!

  • @Neilcourtwalker
    @Neilcourtwalker Před 3 lety +15

    Great presentation, exactly what I was looking for, thanks!
    Since there are not a lot of Kivy tutorials, I think you could boost your chanel a lot, if you made Kivy tutorials. I would definetly watch them :-)

  • @135jyotirmoygoswami5
    @135jyotirmoygoswami5 Před 2 lety +1

    Exactly the kind of video I was looking for, a brief and effective package. I am going to learn PyQT5. Thank you!

  • @TravisTennies
    @TravisTennies Před rokem +1

    This is for sure the best comparison i have ever seen. Been thinking of trying out writing a gui for uears. Great video!

  • @Scanito
    @Scanito Před 2 lety

    Great video, provides a quick and clear scenario of each option. Thanks!

  • @Jupitoryoutobe
    @Jupitoryoutobe Před 3 lety +3

    This is what I'm looking for ..thank you very much for creating this vid ^^

  • @jorgegomes83
    @jorgegomes83 Před 3 lety +4

    One thing that lacked in the video was a better description on PyGUI. Nothing was said about it being a language binding (like wkPython) of the C++ library IM GUI, neither about it being an Immediate Mode kind of interface, and these two are very important aspects. People use Im GUI to make interfaces for projects like game engines, visualizers, small tools and more. In the project repo, there is a list of users/companies using it and it is impressive how many big companies are listed there. I don't know about PyGUI, but ImGUI is renderer agnostic: you can use OpenGL, DirectX, or even Vulkan api to render the gui.

  • @kevinpaniagua4385
    @kevinpaniagua4385 Před 3 lety +7

    Awesome video , thank you very much please keep going , greetings from Costa Rica

  • @hermanunspieters6969
    @hermanunspieters6969 Před 2 lety

    VERY INFORMATIVE. This kid will definitely help you decide which one to use!

  • @cupcakenomplicated7527
    @cupcakenomplicated7527 Před 3 lety +1

    Thank you for making such an informative video, I was looking for something like this,

  • @deanlawson6880
    @deanlawson6880 Před rokem

    Thanks so much for the helpful video on this topic. Just getting started with Python GUI programming so this is very timely and helpful!
    Thanks again!

  • @ghassansaadeh8176
    @ghassansaadeh8176 Před 3 lety +1

    Thanks for the information. I might need more explanation.
    Great job

  • @greatindianbuilder2491
    @greatindianbuilder2491 Před 3 lety +4

    Even though audio quality wasn't that good but the content was top notch. Very informative and we'll paced.
    I have learnt both pyqt5 and tkinter and in my opinion pyqt5 is a better choice in the grand scheme of things.

  • @alaanasser3243
    @alaanasser3243 Před 3 lety +1

    Awesome video! I am a beginner and was quite lost on which GUI library is which.

  • @melihsaitkarabulut7948
    @melihsaitkarabulut7948 Před 3 lety +2

    such a nice explanation. thanks for the video. :)

  • @maheshmurthi470
    @maheshmurthi470 Před rokem

    I have been reading a lot on the GUI interfaces for a week now - until I saw this post
    Excellent analysis and Excellent presentation - no dragging and drawling - brief and to the point
    Would have loved to see PySimpleGUI also - but that's OK - while I consider this good - it seems to be a one man army - and hence not sure about the future.
    Good Job !

  • @sheikhakbar2067
    @sheikhakbar2067 Před 3 lety +3

    Beautiful presentation and beautiful voice 😊

  • @blancostudio3d
    @blancostudio3d Před 3 lety +1

    Thank you, you provided enough information :D

  • @lancercreep9352
    @lancercreep9352 Před 3 lety

    Wow, That was super Usefull thanks👌🏻

  • @fearfactor2553
    @fearfactor2553 Před 2 lety

    Amazing content, thank you so much!

  • @kgovind2171
    @kgovind2171 Před rokem +1

    Brilliant video....First year computer engineering student i always wanted a comparison video

  • @eamanor8
    @eamanor8 Před 3 lety

    This video is super great... Well done

  • @pggajendrababu1
    @pggajendrababu1 Před 3 lety +7

    Really, very good analysis. Thank you.

  • @user-fj4zm8pf8b
    @user-fj4zm8pf8b Před 3 lety +1

    great comparison! i love the video

  • @eduardocunha6556
    @eduardocunha6556 Před 2 lety

    Love you review! Really, save me hours or maybe days of searching.... Thanks a milion! You just won a follower

  • @ayushrajput8502
    @ayushrajput8502 Před rokem

    Thank you, the information is so nice helped me alot.

  • @865121r
    @865121r Před rokem

    Hi, can u show interaction between pdf to python to mysql? And mysql to python to tinker to generate excel?

  • @deiaabdullah2008
    @deiaabdullah2008 Před 2 lety

    Greate Comparision ... good work ...keep it up

  • @b1ack_c0de
    @b1ack_c0de Před 3 lety +1

    Sweet voice. thanks for your explanation

  • @TeaJayOne
    @TeaJayOne Před 3 lety +8

    Saying I don't recommend it because it is harder, is like saying I don't recommend getting a famous singer, because it is harder then just singing as hobby. As a programmer you should always look at what is best for your product not for you. If the development cost is higher, because you need to learn a new framework, that would be a reason, but laziness should never be. Atleast not for professionals.

    • @TeaJayOne
      @TeaJayOne Před 3 lety +1

      You can learn the basics of PyQt in few days btw. The only thing I had problems with is signals and language files, so I just programmed my applications without it and used my own implementation of language files. I think it is more convenient for small applications in development to have human-readable language files than binaries, so I was a bit confused about it.

  • @panofish
    @panofish Před 2 lety +2

    I was skeptical that you would accurately explain the differences. But, was pleasantly surprised. My advice is to learn PyQt5. Yes, much more to learn, but other than a deeper learning curve, there are really almost no downsides. The other choices have limitations. Most important, PyQt5 can create desktop applications that users can't discern from any other windows application.

    • @TV-eh9fi
      @TV-eh9fi Před rokem

      but it is not free

    • @OgleWatch
      @OgleWatch Před rokem

      @@TV-eh9fi PySide and PyQt are basically the same. PyQt is actually free, unless you plan on selling a product built with it or running a major business with it.

    • @alinazang6651
      @alinazang6651 Před rokem

      WxPython looks native, great for desktop apps. Been a 10 year user of it. Lots of widgets and make custom ones too. I feel no need to go to PyQt5

  • @reljoy
    @reljoy Před 3 lety +1

    What about PySimpleGUI? Where does that fit?

  • @amit12000
    @amit12000 Před 2 lety

    Nice video and informative

  • @kundanyadav-us2hw
    @kundanyadav-us2hw Před 3 lety

    thank you, this vedio is very helpfull

  • @cbbcbb6803
    @cbbcbb6803 Před rokem

    Very interesting.

  • @AliTwaij
    @AliTwaij Před 2 lety

    Excellent video thankyou

  • @weiwei2587
    @weiwei2587 Před 2 lety

    Very good comparison.

  • @AdobadoFantastico
    @AdobadoFantastico Před 2 lety +3

    Qt is nice because of the designer, but understanding the system as a whole was a real stumbling block for me. Wish I'd started with PyGui.

  • @klinnjilsey
    @klinnjilsey Před 3 lety

    Thank you. Just thank you.

  • @qaisjoker8306
    @qaisjoker8306 Před 2 lety +2

    من لهجتك اتوقع انك عربية. شكراً على هذا الفيديو 3>

  • @engineerbhai7642
    @engineerbhai7642 Před rokem

    Code with Harry is best channel to learn coding.

  • @user-li3fb4wr2m
    @user-li3fb4wr2m Před 3 lety

    Excellent... keep going

  • @jccheloven
    @jccheloven Před 3 lety

    Awesome review.

  • @joshwzr1257
    @joshwzr1257 Před rokem

    Thanks alot for this best info. let me watch this of 2023 too

  • @ismaelmartinezh5829
    @ismaelmartinezh5829 Před 3 lety

    Excellent.

  • @truthhorizon5851
    @truthhorizon5851 Před 3 lety

    great video

  • @demircan9464
    @demircan9464 Před rokem

    thx for the good video

  • @indiantek830
    @indiantek830 Před 2 lety

    Your voice is too cute!!! And so are your tutorials.

  • @prathmeshgulhane6351
    @prathmeshgulhane6351 Před rokem

    I have one doubt in tkinter can I ask

  • @mohamedfarid7499
    @mohamedfarid7499 Před 2 lety

    thank you for your effort

  • @ramdanebachir9659
    @ramdanebachir9659 Před 3 lety

    Great now i have an idea. think you;;;

  • @alipk2633
    @alipk2633 Před 2 lety

    this is a very good video

  • @BiologyIsHot
    @BiologyIsHot Před 3 lety +2

    I would say Kivy is almost as hard as PyQT in some ways just because the kv language muddies the documentation at times and obscures how the library works. It's easy until you need to do something even slightly customized.

    • @StarFury2
      @StarFury2 Před 2 lety +2

      I also find Kivy pretty hard.
      KV language is not the problem, it's the way KV and PY defined functions and widgets communicate with each other from one file to another. Things like app, root, id, ids, self (class), self (widget) takes a lot of time to understand.
      Another frustrating problem is APIs that does the same thing can have different syntax in every widget forcing you to constantly check documentation (example: background_color, color, md_bg_color, bg_color, etc. same function, different name in different widget). Some widget respond to pos_hint and size_hint, some ignore completely, some only accept None values, some crash if None values used. Latter is especially true with KivyMD extension.

  • @the-ghost-in-the-machine1108

    imma going for QT :)

  • @phillipyang4096
    @phillipyang4096 Před 2 lety

    The order of introduce is the order of Hala's favourite

  • @joshwzr1257
    @joshwzr1257 Před rokem

    Thanks Hala

  • @anurajms
    @anurajms Před rokem

    thank you

  • @amirrashedi573
    @amirrashedi573 Před 2 lety

    Thank you

  • @imed_rahmani
    @imed_rahmani Před 3 lety

    that was epic

  • @jonathanhoffstadt1366
    @jonathanhoffstadt1366 Před 3 lety +3

    Do you mean Dear PyGui or PyGui?

  • @aerospacebriefcase2290

    Big apps possible?. I mean apps like Google or gmail etc?

  • @mcdowelltw
    @mcdowelltw Před 2 lety +1

    Nice job. You should do a program in KiVy with text boxes and demonstrate how to launch it.

  • @mt4u832
    @mt4u832 Před 2 lety

    I love your voice!😍

  • @rohitsonawane4592
    @rohitsonawane4592 Před 4 lety

    It is possible to integrate turtle graphics with Kivi GUI ???
    Please Answer.......

    • @codefirstwithhala
      @codefirstwithhala  Před 4 lety +1

      Hi! Yes it is possible! Although Turtle is based on Tkinter, and it is much easier to do that way, it's still possible to make it work with Kivy, with a bit more code.

    • @rohitsonawane4592
      @rohitsonawane4592 Před 4 lety

      @@codefirstwithhala please make a video related that if you possible. It will be very useful for me.

    • @cheaterman49
      @cheaterman49 Před 3 lety

      @@rohitsonawane4592 To be perfectly fair, this may not be such a great idea, given Kivy is based on OpenGL, there's more flexibility to be had by just leveraging that :-)

  • @unusedTV
    @unusedTV Před 3 lety +5

    How can a 18 minute video on graphical interfaces be all text and no examples?

    • @codefirstwithhala
      @codefirstwithhala  Před 3 lety +3

      Hi, thanks for your feedback! As I told the above comment, I originally didn't include examples since most of my work is only in PyQt5 or Kivy. I didn't want to use other people's projects in my video :) However, I do understand your point, so for a future video, I'll try to make some examples or contact other people and ask their permission for bigger projects to show :)

    • @cheaterman49
      @cheaterman49 Před 3 lety +3

      @@codefirstwithhala While I understand the (OP's) criticism, I feel like it would paint an incomplete picture - still, showing a "hello world" for each framework could have been nice (I know that's what convinced me to use Kivy in the first place half a decade ago) but as I said maybe not as useful of a comparison point as it might seem. As to comparing bigger projects, again, if it's not strictly the same project ported to different frameworks, it's not that useful ; and even then, you'd need the ports to be made by people with an equal level of proficiency in each framework, which seems like an impossible constraint to fulfill.

    • @TheJacklwilliams
      @TheJacklwilliams Před 2 lety

      I think it's a good point but per "The Cheaterman" not practical considering... I also have to say, Hala did an excellent job presenting some top relevant points for choices. I'm just working with Tkinter too get started and will probably eventually move too Kivy considering I intend to drive my projects to multiple device types but who knows, we'll see. I think, it was a useful presentation and covered the topic pretty well.

  • @hipphipphurra77
    @hipphipphurra77 Před rokem

    How can you compare GUIs without showing any one?

  • @melellington1333
    @melellington1333 Před 2 lety

    I would like to know which of these allow you to create proprietary (not open source) applications-without paying for use of the library. AFAIK, the commercial version of PyQt is very expensive. What about Kivy and wxPython? Tkinter is irrelevant unless you like to create programs that look like they are 30-40 years old.

    • @TheJacklwilliams
      @TheJacklwilliams Před 2 lety

      I'm just getting into Tkinter and dev'd a couple examples. The one I'm finishing right now looks, pretty nice. I guess I'm not certain what you are referring too regarding how old it looks? It appears too take the window style of my current window manager, etc... Please explain if you would? Thanks.

    • @melellington1333
      @melellington1333 Před 2 lety +1

      @@TheJacklwilliams I suspect you are using Microsoft Windows and so are accustomed to the old fashioned look of Tk. TK on a Mac looks like the Mac OS looked 30+ years ago. It looks so unprofessional that I'd be embarrassed to use it in an application presented to the public.

    • @TheJacklwilliams
      @TheJacklwilliams Před 2 lety

      @@melellington1333 Thanks Mel. Nope, I’m using it on Linux. Specifically Raspberry Pi OS 64bit. It looks great here. However, per your point, especially when taking “Cross-Platform” for granted, I could see how that same look may not translate well too other platforms. Thanks for the heads up. It’ll work while I learn some front end basics but, moving past that I’ll need too look to other options

    • @levimark548
      @levimark548 Před 2 lety

      @@melellington1333 Search for a youtuber named “Programmed“ who creates modern GUI with Tkinter. :)

  • @Luix
    @Luix Před rokem

    Where is Pyside?
    What about licensing?

  • @andujunior4756
    @andujunior4756 Před rokem

    You: PyGui is good for beginners
    Me: what's easier than drag and drop?
    😂
    Not a beginner to python but a beginner to GUIs great video helped me out a lot thank you very much.

  • @DmitrijRepp
    @DmitrijRepp Před 3 lety +2

    Where is pyGTK?

  • @Observer-a11
    @Observer-a11 Před 3 lety +1

    Good presentation. Kivy needs python 3.7 or lower. Does not work with python 3.8 or higher. At least for now.

    • @JL-nb7ep
      @JL-nb7ep Před 3 lety +3

      Kivy is ok with 3.9.

    • @Observer-a11
      @Observer-a11 Před 3 lety +1

      @@JL-nb7ep Thank you. Good to know.

  • @johnnytoobad7785
    @johnnytoobad7785 Před 2 lety

    PyQT is totally OOP and very "feature rich" Tkinter OOP techniques are NOT required but very useful.

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

    Hi Hala..

  • @progresstube4146
    @progresstube4146 Před 2 lety

    Stayaway from Tkinter, thank you for your video

  • @chesteringosan7939
    @chesteringosan7939 Před 3 lety +4

    also with QT you need to spend hours and hours trying to understand their terms and conditions

    • @lmnts556
      @lmnts556 Před 2 lety

      So what would you recommend?

    • @chesteringosan7939
      @chesteringosan7939 Před 2 lety

      @@lmnts556 it's up to you, which one your comfortable with..my opinion if i'm working for someone else's app, sure i wouldn't mind Qt and that's if I can wrap around my perspective around Qt

    • @lmnts556
      @lmnts556 Před 2 lety

      @@chesteringosan7939 You mean pyQT5? Or QT for python? Its so confusing lol. I am not comfortable with any of them but I would like to make software for windows. Its really hard to select one.

    • @chesteringosan7939
      @chesteringosan7939 Před 2 lety

      ​@@lmnts556 Qt for Python, i think any of them, what i know about that is it is not as latest as c++ Qt.. but if you just want to do windows as personal project i recomment tkinter, but it is not as modern looking..or 'Kivy' it is almost as easy as Tk and is good looking but i had so much trouble compiling it.

    • @lmnts556
      @lmnts556 Před 2 lety

      @@chesteringosan7939 is it possible to make tkinter modern looking? Did you have issues with compiling Kivy to a windows platform or to mobile?

  • @berdmyratallanazarow3507

    like you said kivy or pyqt5 :) but i didn't decide yet.

    • @oyeyipo
      @oyeyipo Před 3 lety

      Kivy

    • @John-zq4kf
      @John-zq4kf Před 3 lety +1

      QtDesigner is a must have if you are designing a complex UI.

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

    Whats up Hotty.

  • @alcatel1s508
    @alcatel1s508 Před rokem

    @15:50 Listen borrow ... ≈≠≈ func[{( awk SED .

  • @Roberto-fz4jm
    @Roberto-fz4jm Před 2 lety

    1

  • @uchihashashy9580
    @uchihashashy9580 Před 3 lety +1

    0:00
    rip headphone

  • @alex59292
    @alex59292 Před rokem

    Where’s eel

  • @pierremilleret698
    @pierremilleret698 Před 2 lety

    Where is PySimpleGui?

  • @fuddyduddy
    @fuddyduddy Před 3 lety

    Grammaly is checking your text, you know what it means.....

  • @peterbreis5407
    @peterbreis5407 Před 2 lety +1

    SHOW US.
    A picture is worth a thousand words.
    The G in GUI stands for Graphical, not words.

  • @alcatel1s508
    @alcatel1s508 Před rokem

    @1:35 🍞 ther printer DCP Shift -|

  • @dantealonso7174
    @dantealonso7174 Před 3 lety

    Electron is missing 🥺

  • @PrasadBVRSN
    @PrasadBVRSN Před 3 lety

    everything is in air

  • @armaanchoudhary
    @armaanchoudhary Před 3 lety

    GOOEE? (GUI)

  • @pranav-kale
    @pranav-kale Před 3 lety +1

    As per my opinion tkinter is too underpowered to be included in top gui list :)

    • @walternyc
      @walternyc Před 3 lety +3

      She says that is good for beginners. But you are right any app build with tkinter looks ancient.

    • @officialspamaccount
      @officialspamaccount Před 3 lety +1

      Hmm... I have around 4 years of experience with tkinter and I can confidently say that it is completely possible to make modern and good looking applications (with some help from ttk). Tkinter is a very powerful GUI builder, you just need to dive deeper and see the abundant resources that tkinter has to provide. For a small to medium size application, tkinter is a very good choice. Only problem is that for larger and more complex applications it might undergo performance issues- at which case its better to use a different language (like cpp) to make your gui. Please do a bit more research, and go through the tk and ttk documentation before assuming that tkinter is "underpowered".

    • @pranav-kale
      @pranav-kale Před 3 lety

      @@officialspamaccountit probably falls weak when creating dynamic applications, also i can be wrong as i have been using ttk for just past 2 months

  • @chesteringosan7939
    @chesteringosan7939 Před 3 lety +2

    go with open source make money then donate

  • @oyeyipo
    @oyeyipo Před 3 lety

    So kivy it is 😂😂😂

  • @PANDURANG99
    @PANDURANG99 Před rokem

    Pyqt is not free

  • @user-fj4zm8pf8b
    @user-fj4zm8pf8b Před 3 lety

    great comparison! i love the video