Marco con imagen de fondo


([N3] CITandil) #1

Buenas tardes,

Tenemos una aplicación MDI, donde no se abre ningún formulario principal de entrada.

Lo que queremos lograr es al marco de la aplicación principal, establecerle una imagen de fondo. O sea que cuando yo no tenga ningún formulario abierto, se vea el marco principal de la aplicación con esa imagen de fondo (y no el clásico fondo gris)

Seguramente esto es posible mediante Javascript o CSS. Alguien ya lo desarrolló o sabe como hacerlo?

Aguardo sus respuestas!

Saludos!


([N1] wikan) #2

No lo he probado, pero te podría valer usando css

background-image: url(imagen.png)


([N3] pacosatu) #3

Hola CITandil.

Completando la respuesta de Manuel.

El CSS para el fondo del Marco es:
QMainWindow {
background-image: url(logo_fondo.png);
background-repeat: no-repeat;
background-attachment: fixed;
background-position: center;
background-origin: content;
}

  • logo_fondo.png puedes añadirlo al proyecto como adjunto y de esta forma se copiará a la caché del Usuario
  • Antes de fijar el CSS en la aplicación ejecutas “Cambiar directorio por defecto (sysCacheClientPath)” para que la url() del CSS encuentre las imágenes

Por supuesto, el nombre de logo_fondo.png puede estar en una Constante o Variable Global del proyecto e incluso tener guardado un String en Base64 con la imagen codificada.

Saludos
Paco Satué


([N3] CITandil) #4

Muchas gracias por la respuesta.

El estilo ese funciona, pero no con el resultado que estoy esperando.

Les adjunto una imagen de lo que estoy necesitando, a ver si hay alguna posibilidad de hacerlo.

Muchas gracias!



([N3] pacosatu) #5

Hola CITandil.

Como ya habrás deducido el CSS background-image solo funciona en el Modo de arranque SDI. En modo MDI y TAB aparece un fondo opaco de color gris oscuro y algo más claro respectivamente. Son las cosas de Velneo.
Hay una pregunta a Soporte sobre este curioso comportamiento, en cuanto respondan os lo cuento.

Yo de momento trabajo siempre en modo TAB cuando hay Vistas abiertas y cuando no hay ninguna Vista activa en la Aplicación cambio a modo SDI para que aparezca el fondo con algún Logotipo. Es un Modo MIXTO.

Al Modo MDI, de momento, no le veo ventajas frente a los otros.

Usa QToolBar { background-color: <color>; } para hacer opacas las Toolbar.

Saludos
Paco Satué


([N3] pacosatu) #6

Hola.

Hago una corrección a lo dicho anteriormente.
En Modo TAB es posible establecer un Fondo mediante el CSS:
QTabWidget::pane {
background-image: url(<imagen.png>);
background-repeat: no-repeat;
background-attachment: fixed;
background-position: center;
background-origin: content;
}

Ya solo nos queda cómo establecer Fondo en Modo MDI.

Saludos
Paco Satué


([N3] pacosatu) #7

Hola CITandil.

Si te sigue interesando el tema, confirmarte que en Modo MDI, según soporte de Velneo, no es posible establecer un fondo mediante CSS.

Saludos
Paco Satué