-
Notifications
You must be signed in to change notification settings - Fork 34
/
Copy pathindex.html
1 lines (1 loc) · 7.59 KB
/
index.html
1
<!doctype html><html lang=en><head><meta content="IE=edge" http-equiv=X-UA-Compatible><meta content="text/html; charset=utf-8" http-equiv=content-type><meta content="width=device-width,initial-scale=1.0,maximum-scale=1" name=viewport><title>Creating GUI Applications with wxPython - book review</title><link href=https://learnbyexample.github.io/atom.xml rel=alternate title=RSS type=application/atom+xml><script src=https://cdnjs.cloudflare.com/ajax/libs/slideout/1.0.1/slideout.min.js></script><link href=https://learnbyexample.github.io/site.css rel=stylesheet><meta content="Creating GUI Applications with wxPython - book review" property=og:title><meta content=website property=og:type><meta content="For those wanting to start coding GUI applications in Python" property=og:description><meta content=https://learnbyexample.github.io/python-gui-book-review/ property=og:url><meta content=https://learnbyexample.github.io/images/python_gui/wxPython_book_cover.png property=og:image><meta content=400 property=og:image:width><meta content=516 property=og:image:height><meta content=summary_large_image property=twitter:card><meta content=@learn_byexample property=twitter:site><link href=https://learnbyexample.github.io/favicon.svg rel=icon><link rel="shortcut icon" href=https://learnbyexample.github.io/favicon.png><body><div class=container><div class=mobile-navbar id=mobile-navbar><div class=mobile-header-logo><a class=logo href=/>learnbyexample</a></div><div class="mobile-navbar-icon icon-out"><span></span><span></span><span></span></div></div><nav class="mobile-menu slideout-menu slideout-menu-left" id=mobile-menu><ul class=mobile-menu-list><li class=mobile-menu-item><a href=https://learnbyexample.github.io/books> Books </a><li class=mobile-menu-item><a href=https://learnbyexample.github.io/mini> Mini </a><li class=mobile-menu-item><a href=https://learnbyexample.github.io/tips> Tips </a><li class=mobile-menu-item><a href=https://learnbyexample.github.io/tags> Tags </a><li class=mobile-menu-item><a href=https://learnbyexample.github.io/about> About </a></ul></nav><header id=header><div class=logo><a href=https://learnbyexample.github.io>learnbyexample</a></div><nav class=menu><ul><li><a href=https://learnbyexample.github.io/books> Books </a><li><a href=https://learnbyexample.github.io/mini> Mini </a><li><a href=https://learnbyexample.github.io/tips> Tips </a><li><a href=https://learnbyexample.github.io/tags> Tags </a><li><a href=https://learnbyexample.github.io/about> About </a></ul></nav></header><main><div class=content id=mobile-panel><article class=post><header class=post__header><h1 class=post__title><a href=https://learnbyexample.github.io/python-gui-book-review/>Creating GUI Applications with wxPython - book review</a></h1><div class=post__meta><span class=post__time>2019-05-13</span></div></header><div class=post-content><p align=center><img alt="GUI example" src=/images/python_gui/GUI_example.jpg><p><em>Photo Credit: <a href=https://www.pexels.com/photo/apple-computer-desk-devices-326501/>Tranmautritam</a> on <a href=https://www.pexels.com/>Pexels</a></em></p><span id=continue-reading></span><br><p>I've always wanted to create nice looking, useful GUI applications over the years. And I've given up most of the time as the programming seemed too difficult for me and GUI requires at least some level of design skills. I only managed to grit through one Android app for over a year as it was a dream game from school days and I had loads of free time having quit my job. At the end of it though, I had a spaghetti mess of several 1000+ lines programs and a strong aversion to Java and object oriented programming. Part of the reason is that I didn't try to learn in a formal way, just started from a tutorial closest to the game I wanted to do.<p>Several years later, here I am, trying my hand with GUI again. I have several small to medium scale apps in mind to implement and hopefully I'll avoid previous mistakes, especially feature creep. When I saw <a href=https://twitter.com/driscollis/status/1109106540160733184>this tweet from Mike Driscoll</a>, I took up the offer. I got a free book in exchange for reviewing <a href=https://www.blog.pythonlibrary.org/2019/05/08/creating-gui-applications-with-wxpython-now-available/>Creating GUI Applications with wxPython</a>. The book is currently on sale till May 15. Having to review has served as an extra incentive to read the book regularly, and so far I'm quite satisfied to have done so.<p align=center><img alt="book cover" src=/images/python_gui/wxPython_book_cover.png><p>I hadn't heard of <a href=https://wxpython.org>wxPython</a> before this book. When it comes to GUI in Python, I knew about <code>tkinter</code> which comes by default with standard libary, <a href=https://kivy.org>Kivy</a>, <a href=https://www.pygame.org>Pygame</a> and <a href=https://pypi.org/project/PyQt5/>PyQt5</a>. This book starts with an introduction to <code>wxPython</code> and then dives into project-based approach. I've finished half the chapters so far, covering four project concepts:<ul><li>Image viewer<li>Database viewer and editor<li>Calculator<li>Archiver</ul><p align=center><img alt=calculator src=/images/python_gui/calculator.png><p>Rest of the chapters cover these topics:<ul><li>MP3 tag editor<li>Image application using NASA's API<li>PDF merger/splitter<li>File search<li>FTP application<li>XML editor<li>Distributing your application</ul><p>There are also a couple of appendix chapters.<p>As mentioned in book's introduction, you definitely need to be comfortable with Python classes before you start this book. The code used in the book is also available from <a href=https://github.com/driscollis/applications_with_wxpython>GitHub repo</a>, but I highly recommend to type them manually.<p>The project nature also means that after chapter 3, you could probably skip chapters you are not interested in. For example, I didn't pay too much attention to database chapters as I don't have much experience with databases. Each project is described and shown step by step. The projects could be run at different stages as well - playing around with the GUI at those points helps in mapping code-to-output, as well as to experiment different settings.<p>All in all, I would highly recommend this book for those wanting to start coding GUI applications in Python. And please do contact the author to let him know your feedback or if you have any clarifications. Happy learning :)</div><div class=post-footer><div class=post-tags><a href=https://learnbyexample.github.io/tags/python/>#python</a><a href=https://learnbyexample.github.io/tags/gui/>#gui</a><a href=https://learnbyexample.github.io/tags/wxpython/>#wxpython</a><a href=https://learnbyexample.github.io/tags/book-review/>#book-review</a></div><hr color=#e6e6e6><div class=post-nav><p><a class=previous href=https://learnbyexample.github.io/python-regex-cheatsheet/>← Python regular expression cheatsheet and examples</a><br><p><a class=next href=https://learnbyexample.github.io/python-for-maths/>Python for maths →</a><br></div><hr color=#e6e6e6><p>📰 Use <a href=https://learnbyexample.github.io/atom.xml>this link</a> for the Atom feed. <br> ✅ Follow me on <a href=https://twitter.com/learn_byexample>Twitter</a>, <a href=https://github.com/learnbyexample>GitHub</a> and <a href=https://www.youtube.com/c/learnbyexample42>Youtube</a> for interesting tech nuggets. <br> 📧 Subscribe to <a href=https://learnbyexample.gumroad.com/l/learnbyexample-weekly>learnbyexample weekly</a> for programming resources, tips, tools, free ebooks and more (free newsletter, delivered every Friday).<hr color=#e6e6e6></div></article></div></main></div><script src=https://learnbyexample.github.io/even.js></script>