2009-08-13 22 views
5

Vorrei modificare lo sfondo di QFrame in fase di esecuzione, ma, vorrei caricare lo sfondo dal disco (un'immagine). L'impostazione del foglio di stile in QFrame non funziona, perché l'immagine non è in risorse.Imposta immagini di sfondo caricate dal disco

Un modo è impostata un'icona QPushButton, ad esempio:

QPixmap img("/images/01.png"); 
ui.pushButton->setIcon(QIcon(img)); 

Ma, un QPushButton non è utile per me. Ho bisogno di mettere altre cose all'interno di QFrame.

risposta

5

Da quello che ho capito nella tua domanda, non vuoi usare Risorse? Se questo è il caso, si potrebbe fare qualcosa di simile:

ui->frame->setFrameStyle(QFrame::StyledPanel); 
ui->frame->setStyleSheet("background-image: url(C:/test.jpg)"); 
+0

perfetta, questo è quello che stavo cercando. Non sapevo che gli sfondi possano essere applicati in questo modo. Tkanks! –

4

Si potrebbe anche provare qualcosa di simile:

QPalette pal; 
pal.setBrush(ui.frame->backgroundRole(), QBrush(QImage("/images/01.png"))); 
ui.frame->setPalette(pal); 
+0

Funziona anche con QWidget. –

Problemi correlati