Uniform look for Qt and GTK applications (Italiano)

From ArchWiki
Revision as of 06:23, 25 April 2011 by Ant84 (Talk | contribs) (Possibili problemi con le applicazioni Qt che utilizzano QGtkStyle)

Jump to: navigation, search

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Tango-preferences-desktop-locale.pngThis article or section needs to be translated.Tango-preferences-desktop-locale.png

Notes: please use the first argument of the template to provide more detailed indications. (Discuss in Talk:Uniform look for Qt and GTK applications (Italiano)#)
Nota: Questo articolo è in fase di traduzione. Seguite per ora le istruzioni della versione inglese.
Summary help replacing me
Questo articolo descrive la configurazione dettagliata delle Qt e GTK+ per assicurare uno stile delle applicazioni uniforme. Questo articolo copre configurazione, theme engine, trucchi e troubleshooting.
Related
GTK+

Introduzione

I programmi basati su Qt- e GTK+ utilizzano diversi widget toolkit per renderizzare l'interfaccia grafica utente. Ognuno di default è fornito di diversi temi, stili e set di icone così il "look & feel" è significativamente differente. Questo articolo vi aiuterà nel rendere le applicazioni Qt e GTK+ simili tra loro in modo da ottenere un'esperienza desktop più "integrata" e razionale.

"Qt (pronuncia "cute") è un framework di sviluppo applicazioni cross-platform largamente usato per sviluppare sia applicazioni basate su GUI (in questo caso esso è noto come widget toolkit) che applicazioni "non-GUI" come strumenti per console e server."

  • Tema - Raccolta di uno stile, un tema di icone e un tema di colori.
  • Stile - Layout grafico; look.
  • Tema delle icone - Set di icone.
  • Tema dei colori - Set di colori usato in associazione allo stile.

Stile per Qt e GTK+

Esistono dei set di stili creati con lo scopo dell'integrazione in quanto scritti e distribuiti per le principali versioni di Qt e GTK+. Con essi è possibile avere un look uniforme per tutte le applicazioni indipendentemente dal toolkit con cui sono state scritte.

KDE4 Oxygen

Oxygen è lo stile Qt4 preinstallato con KDE4. Esiste anche una versione GTK+ chiamata oxygen-molecule disponibile attraverso AUR. Il suo obbiettivo è quello di fornire un look uniforme alle applicazioni GTK+ quando usate in KDE attraverso gtk-engine-pixbuf, una dipendenza anch'essa disponibile in AUR. Il pacchetto AUR fornisce semplici ma sufficienti informazioni per completare l'installazione. Per informazioni più dettagliate scaricare oxygen-molecule da KDE-look.

Un altro port GTK+ è il pacchetto Template:Package Official. Il suo obbiettivo principale è assicurare una grafica uniforme tra applicazioni Qt e GTK+ nell'ambiente KDE. Un obbiettivo secondario è fornire un tema gtk attraente e che si comporti bene sui vari Desktop Environment. Sfortunatamente come per tutti gli altri tentativi di portare il tema oxygen in gtk esso non dipende dalle Qt (attraverso un qualche motore di conversione tra Qt e Gtk), nor does render the widget appearance via hard coded pixmaps, which otherwise breaks everytime some setting is changed in kde.

QtCurve

Disponibile per qt4 (kde4), qt3 (kde3), e gtk2 (gnome) nel repository [extra] , è uno stile altamente configurabile e sicuramente il più popolare. Dispone di molti controlli e di diverse opzioni che permettono di configurare diverse cose a partire dall'aspetto dei pulsanti fino alla forma delle barre di scorrimento. Il tema è possibile installarlo attraverso pacman

# pacman -S qtcurve-gtk2 qtcurve-kde3 qtcurve-kde4

Altri

I set di stile simili sono quelli che, scritti sia per Qt che per GTK (ma non necessariamente dallo stesso sviluppatore), si somigliano tra loro. Potrebbe essere necessario effettuare qualche modifica minore per ottenere lo stesso look. Di seguito ne sono elencati alcuni:

  • klearlooks (qt3); clearlooks (gtk2)

Come posso configurare lo stile per ogni toolkit?

E' possibile usare i seguenti metodi per cambiare il tema in ogni ambiente.

Stili QT3

  • Usando il Centro di controllo di KDE3 (kcontrol):
--> Aspetto & Temi --> Stile --> Stile del Widget
  • kde-config --style [nome dello stile]
  • Qt Configuration (qt3config | /opt/qt/bin/qtconfig)
--> Aspetto --> Seleziona stile della GUI

Stili QT4

  • Usando Impostazioni di sistema di KDE4 (/usr/bin/systemsettings)
--> Aspetto e comportamento comune --> Aspetto delle applicazioni --> Stile --> Stile del Widget
  • Qt Configuration (/usr/bin/qtconfig)
--> Aspetto --> Seleziona stile della GUI

Stili GTK2

Stili GTK1

Motore dei temi

Un motore temi può essere pensato come ad un sottile strato di API usato per tradurre i temi (escluse le icone) tra diversi toolkit. Questi motori aggiungono del codice in più nel processo ed è una scelta discutibile in quanto è una soluzione poco elegante ed efficiente rispetto ad uno stile nativo.

GTK-QT-Engine

Questo motore può essere usato dalle applicazioni GTK+ nell'ambiente KDE, questo fondamentalmente significa che è per KDE. Esso applica tutte le impostazioni Qt (stili, fonts ma non icone) alle applicazioni GTK+ e usa direttamente i plugin dello stile. Notare che esistono problemi di rendering con alcuni stili Qt.

# pacman -S gtk-qt-engine

E' possibile accedere ad esso da:

Centro di controllo (kcontrol) --> Aspetto & Temi --> Font e Stili GTK

Se lo si vuole rimuovere completamente si dovrebbero rimuovere i seguenti file:

  • ~/.gtkrc2.0-kde
  • ~/.kde4/env/gtk-qt-engine.rc.sh
  • ~/gtk-qt-engine.rc

Funzionamento con OpenOffice

Digitare (come root):

export SAL_GTK_USE_PIXMAPPAINT=1

nel file /etc/profile. Nelle Impostazioni di sistema di KDE4 assicurarsi che in Aspetto > Stile GTK e fonts sia selezionato "utilizza lo stile KDE nelle applicazioni GTK".

QGtkStyle

Questo è uno stile Qt che intende rendere le applicazioni perfettamente armonizzate nel desktop GNOME tramite l'uso delle GTK per renderizzare tutti i componenti. Per usare questo stile si dovrebbe avere almeno GTK+ 2.0 e Qt 4.3 anche se le Qt 4.4 sono consigliate.

Note: A partire dalla versione 4.5 questo stile è incluso nelle Qt per cui non è necessario installare questo pacchetto. Per quelli interessati è disponibile comunque un pacchetto in AUR: [qgtkstyle-svn].

Possibili problemi con le applicazioni Qt che utilizzano QGtkStyle

Le Qt non applicano correttamente lo stile QGtkStyle se le GTK usano GTK-QT-Engine. Qt determina se GTK-QT-Engine è in uso leggendo il file di configurazione delle GTK contenuto nella variabile di sistema GTK2_RC_FILES. Se questa variabile non è impostata correttamente Qt suppone che si stia usando GTK-QT-Engine, inoltre configura QGtkStyle in modo che utilizzi lo stile GTK Clearlooks e visualizza il seguente messaggio di errore:

QGtkStyle cannot be used together with the GTK_Qt engine.

Un altro errore che si potrebbe incontrare dopo aver lanciato qtconfig dalla shell e selezionato lo stile Gtk+ è:

QGtkStyle was unable to detect the current GTK+ theme.

Gli utenti di Openbox e degli altri sistemi non-GNOME potrebbero incontrare facilmente questo problema. Una soluzione può essere:

  • Dire a Qt dove cercare il file di configurazione GTK aggiungendo le seguenti linee nel file Template:Filename:
    • Per aggiungere più percorsi separarli con un due punti. To add multiple paths, separate them with colons.
    • La variabile $HOME deve contenere il percorso della home del proprio utente. L'utilizzo del simbolo ~ non funziona.

Template:File

Template:File Comunque sembra che a volte questi tool inseriscono solamente una direttiva del tipo: Template:File che aparentemente non viene riconosciuta da tutte le versioni di QGtkStyle. Una soluzione è inserire manualmente il nome del tema gtk nel file .gtkrc-2.0 come sopra. Notare che comunque durante l'utilizzo delle applicazioni per la modifica degli stili GTK2 queste modifiche potrebbero essere perse.

Per scegliere il proprio tema GTK nelle applicazioni Qt si deve eseguire:

qtconfig

Altri trucchi

KDE file dialogs for GTK2 apps

KGtk is a wrapper script that LD_PRELOAD to force KDE file dialogs (open, save, etc) in GTK2 apps. If you use KDE and prefer its file dialogs over GTK's then you can install kgtk from AUR. Once installed you can run GTK2 applications with kgtk-wrapper in 2 ways (using gimp in the examples).

Calling kgtk-wrapper directly and using the GTK2 binary as an arguement

/usr/local/bin/kgtk-wrapper gimp

OR

Creating a symbolic link to kgtk using the name of the GTK2 binary. Then you can run /usr/local/bin/gimp when you want to run gimp with KDE dialogs.

ln -s /usr/local/bin/kgtk-wrapper /usr/local/bin/gimp
/usr/local/bin/gimp

aMSN GTK or KDE dialogs

aMSN's TK file dialogs are plain looking but no fear there is a plugin that will allow you to use GTK or KDE file dialogs to match your desktop. You can find the plugin on aMSN's Plugin Page

Using custom GTK style

You can use custom styles for specific GTK2 applications. For this, use GTK2_RC_FILES=/path/to/theme/gtk-2.0/gtkrc appname

For example:

GTK2_RC_FILES=/usr/share/themes/QtCurve/gtk-2.0/gtkrc firefox

It will launch firefox with QtCurve theme.

Troubleshooting

Themes not working in GTK apps

If the style or theme engine you setup isn't showing in your GTK apps then it's likely your GTK settings files aren't being loaded for some reason. You can check where your system expects to find these files by doing the following..

$ export | grep gtk

Usually the expected files should be ~/.gtkrc for GTK1, ~/.gtkrc2.0 or ~/.gtkrc2.0-kde for GTK2

Newer versions of gtk-qt-engine use ~/.gtkrc2.0-kde and set the export variable in ~/.kde/env/gtk-qt-engine.rc.sh If you recently removed gtk-qt-engine and are trying to set a GTK theme then you must remove ~/.kde/env/gtk-qt-engine.rc.sh and reboot. Doing this will ensure that GTK looks for it's settings in the standard ~/.gtkrc2.0 instead of ~/.gtkrc2.0-kde