Make QT look less ugly


As anyone who’s used an application written with the QT UI framework will know, they don’t always look the best, and certainly don’t fit in with the rest of your desktops theme in the way GTK does. Certain themes support styling both GTK and QT applications, however most don’t.

KeePassXC, before it looked pretty

Fortunately, there’s a solution, and it comes in the form of a Theme engine. Theme engines act as a small compatibility layer, allowing certain frameworks to render as if they were others. With this, we can tell QT applications to render as if they were GTK.

qt5-styleplugins is a package which allows QT applications it’s components using the same underlying widget components as GTK+2. More detail on qt5-styleplugins can be found on the Arch Wiki.

Setting up qt5-styleplugins is incredibly simple:

  1. Install the package from your OS’s package manager. qt5-styleplugins on Arch, qt5-style-plugins on Ubuntu.
  2. Set the environment variable: QT_QPA_PLATFORMTHEME=gtk2

Installing the environment variable can’t be done in your .bashrc, as variables stored here aren’t accessible to applications launched outside the terminal. I’d recommend setting it in /etc/environment instead.

After install, simply reboot, and your apps should fit in far, far better with the rest of your desktop.

KeePassXC, with GTK looks much nicer!

Share this page

Similar content

View all →

Silver Macbook Air 2020

macOS - A Linux Guys Perspective

6 minutes

For the last four years, I’ve been spending every working day off a Dell Optiplex. With an after-market SSD upgrade, and a little extra memory, it makes a pretty good work machine. When it comes to needing to work away from my desk, it’s a little annoying having only a…


Mount NFS inside LXC containers

NFS is a great protocol for sharing files quickly and simply over the network. Whilst it’s not designed for end user use, it’s great for mounting directories from remote machines, and having them be performant. NFS’ lack of authentication is in a way a feature, honest. Not only does it…

Little cabin on nightstand in altbau in Berlin, Germany. Available for rent for your next photoshoot via

Efficiently doing nothing in Linux

6 minutes

Computers exist for doing work, usually useful, often not. In rare instances, it's useful to make a program do nothing at all. My primary use case for this is Docker containers, where it's useful to have the container do nothing, so it can be exec-d into as part of another…