2009-08-13 9 views
5

Me gustaría cambiar el Fondo QFrame en tiempo de ejecución, pero, cargaría el fondo del disco (una imagen). Establecer hoja de estilo en QFrame no trabajo, porque la imagen no está en los recursos.Establecer imágenes de fondo cargadas desde el disco

Una forma se establece un icono QPushButton, por ejemplo:

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

Pero, una QPushButton no es útil para mí. Necesito poner otras cosas dentro de QFrame.

Respuesta

5

Por lo que entendí en su pregunta, ¿no desea utilizar los recursos? Si ese es el caso, se podría hacer algo como:

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

perfecto, esto es lo que estaba buscando. No sabía que los fondos se pueden aplicar de esta manera. Tkanks! –

4

También podría intentar algo como esto:

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

Esto funciona incluso para QWidget. –

Cuestiones relacionadas