karlch/vimiv

Rewrite vimiv completely in Qt

Opened this issue ยท 3 comments

I have played around with PyQt5 lately and must say I was very happy.

Reasons for a complete rewrite:

  • The code is not very clean, lots of it could be done in a more elegant and extendable way
  • The tests are horrible
  • Gtk has bugged me quite a bit

Reasons against:

  • Lots of work
  • Destroys any packages, user configurations, ...

If anybody has an opinion on this, I would love to hear it.

Hi! I'm interested in these bindings for gtk/qt for python.

What are the main advantages of Qt against GTK? Would pyqt allow vimiv to be used in windows? does pygtk already allow that?

I can just give you a subjective list of things if noticed when comparing the two:

  • The python bindings for Qt feel much more native and much better compared to the gobject based wrapper for Gtk
  • Customizing Qt widgets was much easier for me
  • The Qt documentation is amazing, although Gtk's is pretty good too
  • I used to love the idea of styling the complete toolkit with themes (Gtk) but custom themes regularly break with new versions of Gtk

In your case I would just try both out and see how you like them/how easily you are able to learn them.

The windows support of Qt is a lot better than the one of Gtk. So in principle it should work already but with a lot of hassle. With Qt it should be easier to do. But I do not own a windows machine and do not plan to buy one, so I will not package/test for windows. Obviously if someone volunteers to do this, I will happily include the contribution.

Hope this helps a bit ๐Ÿ˜ƒ

The Qt port has been written and is now publicly available: https://github.com/karlch/vimiv-qt

I feel like the new code is much easier to maintain and therefore this will be the future of vimiv. It is not yet feature-complete, so this version will still see maintenance for relevant bugs, but new features will only be implemented in the Qt port.