Impossibile impostare l’immagine di sfondo in Qt foglio di stile

Sto correndo la Qt app tramite riga di comando con il parametro -foglio di stile. Gli stili per i controlli, ma non quando sto cercando di caricare un’immagine di sfondo per la MainWindow.
Ho provato:

QMainWindow{
background-image:url(:image_256_8bit_latest_back.png);
}

Anche tentato di rimuovere i “:” in background, ma non fa la differenza. Qualcuno può dirmi cosa c’è di sbagliato con questo foglio di stile?

InformationsquelleAutor Owen | 2010-12-16



2 Replies
  1. 16

    Dove si trova l’immagine che si sta tentando di utilizzare ?

    Hai messo come risorsa dell’applicazione ?

    Se si desidera utilizzare un’immagine che fa parte di risorse, si dovrebbe avere un file di risorse (*.qrc) nel progetto. Questo file dovrebbe contenere qualcosa di simile a questo :

    <RCC>
       <qresource prefix="/images">
          <file alias="sunset.jpg">sunset.jpg</file>
       </qresource>
    </RCC>

    Quindi, si potrebbe scrivere questo codice nel costruttore del QMainWindow :

    setStyleSheet("background-image: url(:/images/sunset.jpg);");

    Se non si desidera utilizzare il Qt risorsa di sistema, si può semplicemente inserire il percorso dell’immagine sul disco :

    setStyleSheet("background-image: url(res/images/sunset.jpg);");

    Attenzione però, se si sta utilizzando un percorso relativo : Qt partirà dalla posizione attuale, che potrebbe cambiare, soprattutto se si stanno sviluppando con Qt Creator.

    Con Qt Creator, quando si esegue l’applicazione in modalità di debug, il percorso della corrente è in debug/. Quando si esegue l’applicazione in modalità di rilascio, l’attuale percorso è in release/ (a meno che non hai cambiato le impostazioni).

    • grazie per le info :). Ma il motivo per cui voglio un separato QSS file è perchè voglio che gli utenti di essere in grado di personalizzare l’applicazione, semplicemente caricando il loro QSS file. In modo che quando correva sul prompt dei comandi potrebbe facilmente applicare a tutti gli stili dal QSS file senza dover toccare il codice…
    • Che significa che l’immagine è da qualche parte sul disco. Ma iniziando il percorso con : dice Qt l’immagine è una risorsa. Hai provato a mettere l’immagine assoluta del percorso nel tuo foglio di stile ?
    • Ho provato a creare un file chiamato stylesheet.qss, che si trova nel mio app per cartella, che contiene qualcosa di simile a questo : QMainWindow { background-image : url(sunset.jpg); }. Ho eseguito l’app con l’argomento -stylesheet=stylesheet.qss e lo sfondo della mia app è l’immagine al tramonto. Non capisco perché questo non funziona per voi.
  2. 1

    Chiaramente c’è un problema con il percorso dell’immagine. Provare a utilizzare un percorso assoluto per verificare che l’immagine è stata caricata da QT e di lavoro.

    • Non c’è nessun problema con il percorso coz che funziona come un immagine per i pulsanti… 🙂

Lascia un commento