Archived:Carregar, redimensionar e configurar imagens de fundo, em aplicações Qt
Qt Quick should be used for all UI development on mobile devices. The approach described in this article (based on QWidget) is deprecated.
Dados do artigo
Exemplo de código
Testado com
Compatibilidade
S60 5th Edition
Artigo
Contents |
Introdução
Este trecho de código mostra como carregar, redimensionar e configurar uma imagem de fundo de um widget. A API QPixmap() carregará a imagem usando o nome do arquivo. Já a API QPixmap::scaled() retornará uma cópia do pixmap dimensionado para um retângulo com a largura e altura especificados. QPalette::setBrush(), por sua vez, configura o pincel para a |função de uma determinada cor (no caso, imagem de fundo) para o pincel especificado (no caso, a imagem) para todos os grupos na paleta de cores. Finalmente,QWidget::setPalette() configura uma paleta para um Widget.
Este código pode ser auto-assinado uma vez que ele não usa nenhuma API que requer assinatura de desenvolvedor/certificado.
Cabeçalhos requeridos
#include <QPalette>
#include <QDesktopWidget>
Código
void SetBackground::SetBackgroundImage()
{
//Utilizando QPalette você pode setar a imagem de background como a seguir.
QPalette p = palette();
//Carrega a imagem para o QPixmap. Passa o endereço inteiro da imagem
QPixmap pixmap1("c://01.JPG"); //Para o emulador C: é ..\epoc32\winscw\c, assim, a imagem deve estar nessa localização
//Redimensiona a imagem se esta for maior que o tamanho da tela
QDesktopWidget* desktopWidget = QApplication::desktop();
QRect rect = desktopWidget->availableGeometry();
QSize size(rect.width() , rect.height());
//Redimensiona com base nos seus requisitos.
QPixmap pixmap(pixmap1.scaled(size));
p.setBrush(QPalette::Background, pixmap);
setPalette(p);
}
Conclusões
É esperado que o código mostre uma imagem de fundo em uma aplicação.
Exemplo de código
- O código exemplo ajustará a imagem de fundo (background) na tela e foi testado no Nokia 5800 XpressMusic.

