15

Mark Shuttleworth recently blogged about the decision to include the Qt libraries in the 11.10 release, with a followup from Jono Bacon. The thing that puts me off Qt apps is that they don't blend in very well with Ubuntu's Gtk-based theme. I recently read an Ars Technica article that mentioned that, with a bit of effort, Qt apps could be make to resemble Gtk apps.

Is there any documentation that will help me do this, and if not, does anyone at least have any idea how one would go about doing this?

4 Answers4

16

Note: this is useful to desktop users, not to developers using Qt.

sudo apt-get install qt4-qtconfig, then go to System / Preferences / Qt 4 settings and select GTK style in the first combobox:

Qt Configuration dialog

ulidtko
  • 5,782
3

Qt apps don't follow the font hinting settings that are set by gnome-appearance-properties. You need to explicitly add an entry to $HOME/.fonts.conf e.g.

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
 <match target="font" >
  <edit mode="assign" name="rgba" >
   <const>rgb</const>
  </edit>
 </match>
 <match target="font" >
  <edit mode="assign" name="hinting" >
   <bool>true</bool>
  </edit>
 </match>
 <match target="font" >
  <edit mode="assign" name="hintstyle" >
   <const>hintfull</const>
  </edit>
 </match>
</fontconfig>
Isaiah
  • 59,344
daithib8
  • 3,351
1

From nagul's SU post https://superuser.com/questions/37444/how-can-i-make-kde-and-other-non-gnome-apps-inherit-the-ubuntu-theme - direct quote:

Check QGtkStyle, a project to create a GTK+ layer for Qt-based applications (like KDE) running on GTK2-based desktops (like Gnome).

There are other ideas and scripts in the discussion on this topic at Ubuntu Brainstorm: Idea #1744: GNOME themes should affect Qt themes, and more of them in this discussion Idea #1714: GNOME QT integration (and the numerous duplicate ideas gathered under this question).

One of the noteworthy attempts is UniformUI, which attempts to automate configuration of Qt settings to match the current Gtk+ style, partially using QtCurve and QGtkStyle to achieve this.

Fourth google result for "skin qt to match gtk"

RobotHumans
  • 29,530
0

This does the job, in Qt 5 and Gtk+ 3:

export QT_STYLE_OVERRIDE=gtk
Ho1
  • 3,790
  • 3
  • 17
  • 19