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.