Python Forum
Modern looking GUI
Thread Rating:
  • 3 Vote(s) - 2.33 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Modern looking GUI
#1
Hi guys,

I have an easy question but an important one for me nonetheless. I was recently diving into PyQt5 designing really simple desktop apps and now I'd like to try with the first project of my own to learn how to solve real-life problems.

The thing is - I feel like most of GUIs made in PyQt looks like Win 95. Is there any possibility to create something looking more like Google's material design (I mean "modern" look) than archaeological site? Or maybe no one really program modern GUIs in Python?
Reply
#2
Quote:Or maybe no one really program modern GUIs in Python?
looks like it's basically written in java. couldn't find if any of this was written using Qt5,
I expect not, as if Microsoft was going to use Qt5 they would have bought the company.
It is open source, so you can find out for yourself
the starting page is here: https://github.com/material-components

As to doing it in python, I don't see any reason why not, but it would best be done by building
widgets from a basic GUI language. I'd probably try to do it using wxpython (phoenix version)
Reply
#3
(Jan-10-2019, 09:21 AM)Cuz Wrote: I feel like most of GUIs made in PyQt looks like Win 95.

If you want to see win 95 look then write some GUI in default tkinter without ttk. I think that looks more like win 95. See attachment.

However i always thought pyqt4/5 and WxPython in comparison had more of a "modern" look. They are suppose to use the theme of your OS. You can try and run the examples from wxpython and see if they differ enough or at all to switch libraries.

I searched google material design and the first place i get is here
https://material.io/design/
Which specifically state in the main site change the look and feel of your UI and build a custom theme. As far as i know there is not a way to customize the GUI themes to that extent. The images there to me look more techy/flashy than modern. Or maybe that is because i am use to normal GUI interfaces.

Attached Files

Thumbnail(s)
   
Recommended Tutorials:
Reply
#4
You can have a look at Kivy - maybe you will find it more "modern".
There is also set of Material Design compliant widgets for use with Kivy
And one SO answer about creating style themes
If you can't explain it to a six year old, you don't understand it yourself, Albert Einstein
How to Ask Questions The Smart Way: link and another link
Create MCV example
Debug small programs

Reply
#5
ah i forgot about kivy.

@OP
If kivy is the GUI you use could you let us know. They are kinda the new kid on the block. However, it has glowing reviews for mobile GUI and maybe "modern" should be added as well.
Recommended Tutorials:
Reply
#6
There are many modern apps made with Qt5, such as VLC, Wireshark, FileZilla and qBittorrent. PyQt5 use the same backend, as it is just Python bindings for the Qt5 C++ libs. You can change the look of your app with CSS stylesheets, or preferably with builtin style engine, among which there is one called "Windows" that looks like Win95.

I don't know for apps running on windows, but on Linux you can configure system wide style by using "qtconfig-qt4", or rather conform to the installed theme for GTK by adding "QT_QPA_PLATFORMTHEME=gtk2" in "/etc/environment".
Reply
#7
There some packages for PyQt QFlat | link that use Material Design.

Other option is pywebview that allows to display HTML content in its own native GUI window.
And support lightweight web framework like Flask.

Remi is also web based.
Quote:The entire GUI is converted to HTML and is rendered in your browser. No HTML is required
Don't know how good control have over HTML/CSS use or if possible to get Material Design look.

In the later years i move more away from GUI and over to Flask to make more a wed based UI look.
Also as posted over so can use pywebview display in own native GUI window,
i have not tested pywebview,but have done a lot of GUI like stuff(build in HTML/CSS) in browsers with Flask.

(Jan-10-2019, 02:18 PM)Alfalfa Wrote: There are many modern apps made with Qt5, such as VLC, Wireshark, FileZilla and qBittorrent. PyQt5 use the same backend,
Yes i agree with some effort there is possible to get good looks,i think VLC is good way to show what QT can do.
Think most are reasonably happy with look of VLC.
The same look could also WxPython produce with same effort on look.
Reply
#8
Didn't expect that much attention :) Thank you all for your replies!

@Larz60+
I don't really see how wxpython would be better than PyQt5. Quick search shows that it looks similarly ancient :)

@metulburr
Well, that was clearly an exaggeration on my side :P What you linked is indeed too flashy, but I still don't think using different themes make that much of a difference (e.g. Vista vs Fusion).

@buran
Kivy widgets you referenced feels like a step in the right direction, but still not exactly what I'm looking for. I'm starting to feel that Python is really not that good for GUI design :(

@Alfalfa
I checked out those apps and I think we're slowly getting there :D VLC for Win 10 is looking way better. Especially using CSS looks promising. Would you by any chance know any intelligible materials I could use to learn more on combining CSS with PyQt5?

@snippsat
Lots of valuable info, I'll try to digest that too. Thanks!

@All
I feel like I didn't express what I want to achieve clearly enough. You can have GUI that looks like this:

[Image: maxresdefault.jpg]
or like this:

[Image: B04829_11_20.jpg]

I really like the first one better and would like to find a way to do that in Python :)
Reply
#9
Quote:I don't really see how wxpython would be better than PyQt5. Quick search shows that it looks similarly ancient :)
The phoenix version was just released in the past few years. Qt is a fine GUI 'system' I do use it myself. My only concern is the commercial side of the product. I've been at this a very long time, and have seen, not free, (as nothing was free back in the late 60's and early 70's), but inexpensive products, eventually become upgrade or leave, with upgrade being price prohibitive for a small company.
So I do use it, but not for anything that I intend to sell myself. I don't think wxpython will ever catch up to Qt5, but I like it .
Here's an example of a commercial product done with python and wxpython: https://alternativeto.net/software/digsby/

   
   
Reply
#10
(Jan-10-2019, 09:56 PM)Cuz Wrote: I really like the first one better and would like to find a way to do that in Python :)
If you think about it, all 3 are the same. Its just slight changes. For starters the default background is white-ish in all or most python GUI's. This obviously can be changed. The menu scrollbar arrows can be hidden. The button borders can be hidden or use an entire different widget. Im pretty sure you can make wxpython/pyqt to look similar. you might just need to do some extra leg work to change the default.
Recommended Tutorials:
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Modern version of XPM files deanhystad 3 2,851 Apr-12-2021, 04:52 PM
Last Post: deanhystad

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020