python-20 / video-downloader

A python application to download videos
GNU General Public License v3.0
9 stars 10 forks source link

tkinter or pyqt #2

Closed cherylli closed 4 years ago

cherylli commented 4 years ago

https://dev.to/amigosmaker/python-gui-pyqt-vs-tkinter-5hdd

RyanSamman commented 4 years ago

I won't have time to play around with new GUIs until around the 15th or so, but i found an article on it, and added it to a card https://github.com/orgs/python-20/projects/2#card-31175227, but what I can say for sure is that, tkinter works but doesn't look good, QT looks good but we don't know how it works. If the project stays small I think we should stick with tkinter, finish the backend work and see what we need, then make a proper GUI

cherylli commented 4 years ago

I'm fine with either, don't have experience with any python GUI.

chonix commented 4 years ago

would be that hard to switch/migrate from tkinter to pyqt?

alpendop commented 4 years ago

No but it might as well be a re-write. Both are pretty different

RyanSamman commented 4 years ago

It'll need a rewrite but at least we know what we want so we don't rewrite it again later, I suggest working in the backend first then making the GUI work around it, not the opposite

cherylli commented 4 years ago

https://www.learnpyqt.com/blog/pyqt5-vs-pyside2/ We can work on them simultaneously as GUi is separate to the backend so we can have people workin on different parts. But we need to draw a rough layout first

cherylli commented 4 years ago

https://catherineh.github.io/programming/2016/11/25/tkinter-and-pyside-side-by-side

Tkinter has the same GNU General Public License as Python. PySide is licensed under the GNU Lesser General Public License. Both of these licenses allow for their use in proprietary software, however the LGPL is a bit friendlier to commercial development than GPL as the requirements to exactly copy the license are less strict. If you’re going to use PySide, the other parts of your code will almost certainly fall under Python’s GPL license, so this point seems moot.

Though both libraries can be employed in object-oriented and procedural fashions, the Tkinter examples tend to use procedural programming and the PySide examples tend to use object-oriented programming, meaning that object-oriented programming neophytes may find PySide intimidating. However, PySide has a greater selection of functionality than Tkinter, in terms of variety of widgets, signals, slots and display options. PySide uses the styles defined in your installed version of Qt, which means that by default PySide programs tend to look less dated than Tkinter programs. PySide is a bit like using LaTeX over Word - though more complicated, the default layout rules are better than Tkinter, allowing design newbs like me to trade technical skill for aesthetics.

In conclusion, my advice would be that Tkinter is good for prototyping simple applications, but if you plan on adding functionality in the future or presenting a polished product, start with PySide.

cherylli commented 4 years ago

I have set up the project with pyqt and pyside2, and with the tkinter ryan posted earlier. we can all have a look and decide. If no one has any strong preference in a few days, then I might have to make a call so we can get started