{"id":49820,"date":"2025-10-13T08:25:51","date_gmt":"2025-10-13T08:25:51","guid":{"rendered":"https:\/\/ubuntuhandbook.org\/?p=49820"},"modified":"2025-10-14T10:36:27","modified_gmt":"2025-10-14T10:36:27","slug":"theme-qt-apps-ubuntu","status":"publish","type":"post","link":"https:\/\/ubuntuhandbook.org\/index.php\/2025\/10\/theme-qt-apps-ubuntu\/","title":{"rendered":"Fix Qt App Window Border &#038; Title-bar in Ubuntu 24.04 | 25.10"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-thumbnail wp-image-39672\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2020\/07\/qt-logo-250x250.webp\" alt=\"\" width=\"250\" height=\"250\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2020\/07\/qt-logo-250x250.webp 250w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2020\/07\/qt-logo-300x300.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2020\/07\/qt-logo-600x600.webp 600w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2020\/07\/qt-logo-768x768.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2020\/07\/qt-logo.webp 1200w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/p>\n<p><b>Qt applications (e.g, qBittorrent, KeePassXC) look weird as they don&#8217;t have window border or shadow in Ubuntu since 24.04. Here&#8217;s how to configure to make them look native<\/b>.<\/p>\n<p>Applications in Ubuntu and other popular Linux distributions mostly use GTK or Qt tool-kits for rendering their user interfaces. Gnome is based on GTK. It uses &#8220;xcb&#8221; QPA plugin for Qt apps running on classic Xorg session.<br \/>\n<!--more--><\/p>\n<p>Due to switch to Wayland, the &#8220;xcb&#8221; plugin is not in use by default, and Qt apps look weird as you see in the screenshot below in Ubuntu 24.04, Ubuntu 25.04 &amp; 25.10.<\/p>\n<div id=\"attachment_49822\" style=\"width: 620px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-49822\" class=\"size-large wp-image-49822\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qtapps-appearance-700x445.webp\" alt=\"\" width=\"610\" height=\"388\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qtapps-appearance-700x445.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qtapps-appearance-300x191.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qtapps-appearance-768x488.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qtapps-appearance-1320x838.webp 1320w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qtapps-appearance.webp 1422w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><p id=\"caption-attachment-49822\" class=\"wp-caption-text\">Qt apps look border-less in Ubuntu since 24.04<\/p><\/div>\n<p>To &#8220;fix&#8221; the issue, I found few choices:<\/p>\n<ol>\n<li>Re-use &#8220;xcb&#8221; QPA plugin.<\/li>\n<li>QGnomePlatform theme.<\/li>\n<li>QAdwaitaDecorations Qt decoration plugin.<\/li>\n<\/ol>\n<p>While there are also Qt5\/6 configuration tool and Kvantum available for configuring Qt theme, icon, font, color, and more.<\/p>\n<h3>1. &#8220;Fix&#8221; Qt window title-bar and window border<\/h3>\n<h4>Option 1: use &#8220;xcb&#8221; QPA plugin<\/h4>\n<p>Most Qt applications (both Qt5 and Qt6) are still working good with &#8220;xcb&#8221; QPA plugin even in Wayland session.<\/p>\n<p><b>1.<\/b> First, press <code>Ctrl+Alt+T<\/code> on keyboard to open window. When it opens, run command to install the required libraries:<\/p>\n<pre>sudo apt install libxcb-cursor0 libxcb-composite0<\/pre>\n<p><i>Run <code>sudo apt update<\/code> to refresh cache in case it&#8217;s unable to locate the packages<\/i>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-47353\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/10\/apt-xcb-libs-700x505.webp\" alt=\"\" width=\"610\" height=\"440\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/10\/apt-xcb-libs-700x505.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/10\/apt-xcb-libs-300x216.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2023\/10\/apt-xcb-libs.webp 706w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p><b>2.<\/b> After that, run the command below in terminal to set the environment variable:<\/p>\n<pre>export QT_QPA_PLATFORM=xcb<\/pre>\n<p>Then, all Qt apps start from that terminal window will try using &#8220;xcb&#8221; plugin. For example, run <code>keepassxc<\/code> to start the Qt-based password manager.<\/p>\n<div id=\"attachment_49823\" style=\"width: 620px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-49823\" class=\"size-large wp-image-49823\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/start-qt-xcb-700x446.webp\" alt=\"\" width=\"610\" height=\"389\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/start-qt-xcb-700x446.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/start-qt-xcb-300x191.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/start-qt-xcb-768x489.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/start-qt-xcb.webp 989w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><p id=\"caption-attachment-49823\" class=\"wp-caption-text\">enable &#8216;xcb&#8217; for apps start from this terminal only<\/p><\/div>\n<p><b>3.<\/b> If it works for you, then open Files (aka Nautilus), and press <b>Ctrl+H<\/b> to show all hidden files. Find out <b>.profile<\/b> file in home directory and click edit it.<\/p>\n<p>Finally, add <b>export QT_QPA_PLATFORM=&#8221;xcb;wayland&#8221;<\/b> in the end of file to make it work for all Qt applications permanently! And, <em>log out and back<\/em> in to apply.<\/p>\n<div id=\"attachment_49824\" style=\"width: 620px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/enable-xcb-profile.webp\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-49824\" class=\"size-large wp-image-49824\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/enable-xcb-profile-700x442.webp\" alt=\"\" width=\"610\" height=\"385\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/enable-xcb-profile-700x442.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/enable-xcb-profile-300x189.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/enable-xcb-profile-768x485.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/enable-xcb-profile-1320x834.webp 1320w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/enable-xcb-profile.webp 1379w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><p id=\"caption-attachment-49824\" class=\"wp-caption-text\">enable xcb for all Qt apps, though current user only<\/p><\/div>\n<p><b>NOTE:<\/b> It must be set to &#8220;<code>xcb;wayland<\/code>&#8220;, to allow fall-back to default wayland, when &#8216;xcb&#8217; does not work. For example, Qt apps installed as Flatpak may not work with &#8216;xcb&#8217; plugin and output the error below:<\/p>\n<blockquote><p>qt.qpa.xcb: could not connect to display<br \/>\nqt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.<br \/>\nqt.qpa.plugin: Could not load the Qt platform plugin &#8220;xcb&#8221; in &#8220;&#8221; even though it was found.<\/p><\/blockquote>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/xcb-flatpak.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-49825\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/xcb-flatpak-700x554.webp\" alt=\"\" width=\"610\" height=\"483\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/xcb-flatpak-700x554.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/xcb-flatpak-300x237.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/xcb-flatpak-768x608.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/xcb-flatpak.webp 810w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<h4>Option 2: Use QGnomePlatform theme<\/h4>\n<p>While xcb is designed for Xorg, <a href=\"https:\/\/github.com\/FedoraQt\/\" target=\"_blank\" rel=\"noopener\">FedoraQt team<\/a> has developed few Qt plugins for better integration in GNOME. They are &#8220;QGnomePlatform&#8221; theme, &#8220;adwaita-qt&#8221; style, and &#8220;QAdwaitaDecorations&#8221;.<\/p>\n<p><b>Downsides:<\/b> The Qt window title-bar made by QGnomePlatform looks NOT so good. FedoraQt has discontinued the project. And, Ubuntu 24.04 only includes Qt5 version of the package.<\/p>\n<p><b>1.<\/b> To install the Qt platform theme, open terminal (Ctrl+Alt+T) and run command:<\/p>\n<pre>sudo apt install qgnomeplatform-qt5<\/pre>\n<p>Ubuntu 25.04, 25.10 may also install <code>qgnomeplatform-qt6<\/code> for Qt6 support.<\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/apt-qgnomeplatform.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-49826\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/apt-qgnomeplatform-700x425.webp\" alt=\"\" width=\"610\" height=\"370\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/apt-qgnomeplatform-700x425.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/apt-qgnomeplatform-300x182.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/apt-qgnomeplatform.webp 730w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<p><b>2.<\/b> Next, either run the command below to set environment:<\/p>\n<pre>export QT_QPA_PLATFORMTHEME='gnome'<\/pre>\n<p>Then, start Qt apps from the same terminal window to use the Qt platform theme.<\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qgnomeplatform-keepassxc.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-49828\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qgnomeplatform-keepassxc-700x330.webp\" alt=\"\" width=\"610\" height=\"288\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qgnomeplatform-keepassxc-700x330.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qgnomeplatform-keepassxc-300x141.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qgnomeplatform-keepassxc-768x362.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qgnomeplatform-keepassxc.webp 1006w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<p>Or, edit <b>.profile<\/b> file in home directory and add <code>export QT_QPA_PLATFORMTHEME='gnome'<\/code> to make it work permanently for all Qt apps (Qt5 only for 24.04) at next login.<\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qgnomeplatform-profile.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-49829\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qgnomeplatform-profile-700x463.webp\" alt=\"\" width=\"610\" height=\"403\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qgnomeplatform-profile-700x463.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qgnomeplatform-profile-300x198.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qgnomeplatform-profile-768x508.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qgnomeplatform-profile.webp 914w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<h4>Option 3: Use QAdwaitaDecorations<\/h4>\n<p>QGnomePlatform and adwaita-qt have been discontinued (though they still work). QAdwaitaDecorations, the project that implements Adwaita-like client-side decorations, is so far the only upstream project that&#8217;s still in development.<\/p>\n<p>However, it&#8217;s NOT made into Debian\/Ubuntu repositories so far. Meaning you need to build it by yourself. And, it does not support Qt6 app for Ubuntu 24.04, as it requires Qt6 &gt;= 6.5.0 (24.04 has 6.4.2).<\/p>\n<p><b>This option is good choice for Ubuntu 25.10, to enable Qt5 window decorations, while Qt6 decorations work out-of-the-box.<\/b><\/p>\n<p><b>1.<\/b> First, open terminal (Ctrl+Alt+T) and run command to install dependency libraries:<\/p>\n<pre>sudo apt install git cmake build-essential qtbase5-dev libqt5svg5-dev libqt5waylandclient5-dev qtbase5-private-dev qtwayland5-private-dev libwayland-dev<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-49830\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/fedora-qt-deps-700x537.webp\" alt=\"\" width=\"610\" height=\"468\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/fedora-qt-deps-700x537.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/fedora-qt-deps-300x230.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/fedora-qt-deps.webp 702w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p><b>2.<\/b> Then, run command to grab the <a href=\"https:\/\/github.com\/FedoraQt\/QAdwaitaDecorations\" target=\"_blank\" rel=\"noopener\">source code<\/a>:<\/p>\n<pre>git clone https:\/\/github.com\/FedoraQt\/QAdwaitaDecorations.git<\/pre>\n<p>After that, navigate to the source folder, create &#8216;build&#8217; sub-folder and navigate into it:<\/p>\n<pre>cd QAdwaitaDecorations<\/pre>\n<pre>mkdir build &amp;&amp; cd build<\/pre>\n<p>Next, configure the source for Qt5:<\/p>\n<pre>cmake -DUSE_QT6=OFF ..\/<\/pre>\n<p>Ubuntu 24.04 does NOT meet Qt6 requirement, and Qt6 window decoration in 25.10 looks good out-of-the-box, so here I only build it for Qt5.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-49831\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qadwaitadeco-source-689x700.webp\" alt=\"\" width=\"610\" height=\"620\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qadwaitadeco-source-689x700.webp 689w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qadwaitadeco-source-295x300.webp 295w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qadwaitadeco-source.webp 726w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p><b>3.<\/b> Finally, build &amp; install the plugin by running the 2 commands below one by one:<\/p>\n<pre>make -j3<\/pre>\n<pre>sudo make install<\/pre>\n<p>Here <code>-j3<\/code> tells to start 3 threads in parallel. Depends on how many CPU cores you have, you may replace it with <code>-j4<\/code>, <code>-j8<\/code>, or <code>j$(nproc)<\/code> to use all CPU cores.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-49832\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/build-qadwaitadeco-700x490.webp\" alt=\"\" width=\"610\" height=\"427\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/build-qadwaitadeco-700x490.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/build-qadwaitadeco-300x210.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/build-qadwaitadeco.webp 726w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p><b>4<\/b>. After successfully built the plugin, clean up by deleting the source folder. Then, either run the command below to set environment variable:<\/p>\n<pre>export QT_WAYLAND_DECORATION=adwaita<\/pre>\n<p>So it works for all Qt5 apps start from this terminal window.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-49833\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qadwaitadeco-environment-700x357.webp\" alt=\"\" width=\"610\" height=\"311\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qadwaitadeco-environment-700x357.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qadwaitadeco-environment-300x153.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qadwaitadeco-environment-768x391.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qadwaitadeco-environment.webp 958w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p>Or, edit <b>.profile<\/b> file in user home and add the line to make it work permanently for all Qt5 apps at next login.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-49834\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qadwaitadeco-profile-700x450.webp\" alt=\"\" width=\"610\" height=\"392\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qadwaitadeco-profile-700x450.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qadwaitadeco-profile-300x193.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qadwaitadeco-profile.webp 750w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<h3>2. Change Qt Theme, or Configure Fonts, icon, and colors<\/h3>\n<p>Gnome\/Adwaita style decorations is NOT enough? You may also configure the Qt apps themes, fonts, icons, and color scheme.<\/p>\n<h4>Option 1: Use Kvantum along with &#8220;xcb&#8221;<\/h4>\n<p>If you use &#8220;xcb&#8221; plugin for the decorations, then you may also use Kvantum (SVG-based theme engine) to change the Qt app themes.<\/p>\n<p>1. First, open terminal (Ctrl+Alt+T) and run command to install the package:<\/p>\n<pre>sudo apt install qt5-style-kvantum<\/pre>\n<p>Ubuntu 25.04, 25.10 users may also install <code>qt6-style-kvantum<\/code> for Qt6 apps support, however it&#8217;s NOT available in Ubuntu 24.04.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-49835\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/apt-qt5-kvantum-700x457.webp\" alt=\"\" width=\"610\" height=\"398\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/apt-qt5-kvantum-700x457.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/apt-qt5-kvantum-300x196.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/apt-qt5-kvantum.webp 706w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/p>\n<p>2. Next, set the following environment variables:<\/p>\n<pre>export QT_QPA_PLATFORM=\"xcb;wayland\"\r\nexport QT_STYLE_OVERRIDE=kvantum<\/pre>\n<p>either in terminal for apps start from that terminal, or in <b>.profile<\/b> for all Qt apps (Qt5 only for 24.04).<\/p>\n<p>3. Finally, launch &#8220;Kvantum Manager&#8221; to change Qt theme and configure active theme.<\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/kvantum-themes.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-49836\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/kvantum-themes-700x517.webp\" alt=\"\" width=\"610\" height=\"451\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/kvantum-themes-700x517.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/kvantum-themes-300x221.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/kvantum-themes-768x567.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/kvantum-themes.webp 1095w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<h4>Use qt5ct \/ qt6ct<\/h4>\n<p>For choice, you may use Qt5 \/ Qt6 settings tools to configure the app window buttons, fonts, icons, and color scheme.<\/p>\n<p>1. First, open terminal and install the settings tools, as well as adwaita-qt themes:<\/p>\n<pre>sudo apt install qt5ct qt6ct adwaita-qt adwaita-qt6<\/pre>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/apt-qtsettings.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-49837\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/apt-qtsettings-700x406.webp\" alt=\"\" width=\"610\" height=\"354\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/apt-qtsettings-700x406.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/apt-qtsettings-300x174.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/apt-qtsettings.webp 706w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<p>2. Next, set environment variable:<\/p>\n<pre>export QT_QPA_PLATFORMTHEME=qt5ct<\/pre>\n<p>It works for both Qt5 and Qt6 with either &#8220;xcb&#8221; or &#8220;wayland&#8221; QPA platform.<\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qt5ct.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-49839\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qt5ct-700x499.webp\" alt=\"\" width=\"610\" height=\"435\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qt5ct-700x499.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qt5ct-300x214.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qt5ct-768x547.webp 768w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qt5ct.webp 811w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<p>3. After set the environment (log out and back in if added to <code>.profile<\/code>), launch Qt5 Settings or Qt6 settings to configure the Qt appearances.<\/p>\n<p><a href=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qt6settings.webp\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-49841\" src=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qt6settings-700x663.webp\" alt=\"\" width=\"610\" height=\"578\" srcset=\"https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qt6settings-700x663.webp 700w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qt6settings-300x284.webp 300w, https:\/\/ubuntuhandbook.org\/wp-content\/uploads\/2025\/10\/qt6settings.webp 763w\" sizes=\"auto, (max-width: 610px) 100vw, 610px\" \/><\/a><\/p>\n<h3>Summary:<\/h3>\n<p>This tutorial shows how to &#8220;fix&#8221; border-less issue for Qt apps in Ubuntu 24.04 and higher with default GNOME, as well as change the theme, fonts, icons, and color scheme.<\/p>\n<p>The &#8220;xcb&#8221; QPA platform plugin is still a good choice for 24.04 with both Qt5 and Q6 support. While, QAdwaitaDecorations is better (in my own opinion) for Qt5 in 25.10, as Qt6 decorations look good out-of-the-box.<\/p>","protected":false},"excerpt":{"rendered":"<p>Qt applications (e.g, qBittorrent, KeePassXC) look weird as they don&#8217;t have window border or shadow in Ubuntu since 24.04. Here&#8217;s how to configure to make them look native. Applications in Ubuntu and other popular Linux distributions mostly use GTK or Qt tool-kits for rendering their user interfaces. Gnome is based on GTK. It uses &#8220;xcb&#8221; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":39672,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[1350,2155],"class_list":["post-49820","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-howtos","tag-qt","tag-theme"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/49820","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/comments?post=49820"}],"version-history":[{"count":0,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/posts\/49820\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media\/39672"}],"wp:attachment":[{"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/media?parent=49820"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/categories?post=49820"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ubuntuhandbook.org\/index.php\/wp-json\/wp\/v2\/tags?post=49820"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}