Como posso obter aplicativos Qt5 para usar o tema GTK no Ubuntu 17.04?


9

Desde que atualizei para o Ubuntu 17.04, os aplicativos Qt5 (como o Qt Creator) não usarão mais o tema GTK. Tentei mudar isso usando o qt5ct , mas ele só tem os estilos Fusion e Windows disponíveis, mesmo que o pacote qt5-gtk-platformthemeesteja instalado.

Como isso pode ser consertado?

Edit: Estou usando o Unity.

Respostas:


7

A aparência dos aplicativos Qt5 é determinada pelos temas e estilos da plataforma. O tema da plataforma é responsável por ícones, fontes etc. e o estilo controla como os widgets são renderizados. Acho que você encontrará seu aplicativo, como o Qt Creator, usando o tema da plataforma GTK3 como padrão.

O problema ocorreu desde o Qt5.7. Nesta versão, o tema e o estilo da plataforma GTK2 foram removidos e substituídos pelo tema da plataforma GTK3. Estive recentemente discutindo com os desenvolvedores do Qt e parece que não há um estilo GTK3 para complementar o tema da plataforma e, atualmente, não há planos para implementá-lo no futuro. Portanto, no Ubuntu, o estilo padrão é "Fusion" usando o tema da plataforma GTK3.

Existem alguns métodos para adicionar um estilo nativo da seguinte maneira:

  1. O antigo tema e estilo da plataforma GTK2 ainda estão disponíveis em um pacote separado chamado qtstylepluginsque pode ser baixado aqui . Infelizmente, o estilo GTK2 não é compatível com o tema da plataforma GTK3. Se você quiser usar o estilo GTK2, precisará usar o tema da plataforma GTK2. Isso significa que suas caixas de diálogo etc. não parecem nativas no Ubuntu 17.04. No entanto, você pode preferir "Fusion".
  2. Você não indicou o ambiente de área de trabalho que está usando. Há um tema e estilo de plataforma de terceiros chamado QGnomePlatformdisponível aqui e adwaita-qtdisponível aqui . Isso fornece uma aparência totalmente nativa ao usar o Ubuntu Gnome.

Para o Qt Creator, não tenho 100% de certeza se ele usa locais globais de temas / estilos. Pode ser necessário instalá-los no {Qt_installation_folder}\Tools\QtCreator\lib\Qt\Plugins\platformthemes\e {Qt_installation_folder}\Tools\QtCreator\lib\Qt\Plugins\styles\.


Obrigado pela explicação detalhada. Eu não me importaria tanto com o Fusion se a renderização da fonte não fosse tão horrível. Existe um bug aberto em algum lugar sobre isso?
Philipp Ludwig

As fontes não parecem ruins do que vi no meu sistema. Você tem uma captura de tela disso?
precisa saber é o seguinte

Fiz upload de uma captura de tela aqui: imgur.com/a/u34W6 Esquerda é Qt Creator, direita é uma sessão vim no gnome-terminal. Concordo que é muito sutil, mas as fontes Qt parecem embaçadas (ou embaçadas?) Para mim. Ambas as aplicações são definidas para Ubuntu Mono 12.
Philipp Ludwig

Entendo o que você quer dizer, mas concordo que é sutil. Desculpe, não sei o que sugerir.
gsxruk

Caso você esteja interessado: obtive melhores resultados com infinalidade no jogo, mas até onde eu sei esse patchset não é mais mantido adequadamente. De qualquer forma, as fontes ficam muito melhores no meu laptop, que possui um painel IPS, então talvez eu precise apenas atualizar minha tela de 7 anos na minha área de trabalho. Obrigado pela ajuda!
Philipp Ludwig

5

Além de qt5ctvocê também precisar instalar o qt5-style-pluginspacote, você deve obter o tema 'gtk2' no qt5ct

sudo apt-get install qt5-style-plugins

E, de acordo com a documentação qt5ct , não se esqueça de definir QT_QPA_PLATFORMTHEME=qt5ctem /etc/X11/Xsession.d/56xubuntu-sessione / ou/etc/environment


Esta resposta funciona para mim, sem instalar qt5ct.
DMT

sim, a instalação apenas de plugins no estilo qt5 (ou seja, sem qt5ct) funciona muito bem para denominar o qt5.7 + com gtk2. qt5ct só é necessário se você quiser usar também outros estilos para qt5.7 + do que gtk2
Gyll

btw, estando cansado de inconsistências na área de trabalho, acabei montando um tema próprio, você pode querer dar uma olhada se as inconsistências deixarem
Gyll
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.