Archived:Pegando imagem de uma lista, em Qt
Aquivado: Este artigo foi arquivado, pois o conteúdo não é mais considerado relevante para se criar soluções comerciais atuais. Se você achar que este artigo ainda é importante, inclua o template {{ForArchiveReview|escreva a sua justificativa}}.
Qt Quick should be used for all UI development on mobile devices. The approach described in this article (based on QWidget) is deprecated.
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
Testado com
SDK: Qt 4.5
Aparelho(s): Emulator
Compatibilidade
Plataforma(s): S60 5th Edition
Artigo
Palavras-chave: QListWidget,QIcon,QPixmap
Tradução:
Originado de Archived:Getting image from list in Qt
Por valderind4
Última alteração feita por hamishwillee
em 11 Oct 2012
Contents |
Introdução
Esta widget de visualização de imagens. Ao clicar nos itens, na lista, nós podemos ver a imagem em tamanho completo. Ícones das imagens são definidos na lista e o caminho para o ícone e usado para pegar a imagem de um diretório específico.
Nome da classe usada:
- QListWidget - Provê um widget, em lista, baseado em itens.
- QPixmap - uma representação da imagem fora da tela, que pode ser usada como um dispositivos de desenho.
Código fonte
#include "database.h"
#include "ui_database.h"
database::database(QWidget *parent)
: QWidget(parent)
{
list=new QListWidget(this);
list->setIconSize(QSize(30,30));
lbl=new QLabel(this);
lbl->setMinimumSize(240, 160);
item1=new QListWidgetItem(QIcon("D://Blue hills.PNG"),"BlueHills",list,this);
item2=new QListWidgetItem(QIcon("D://Sunset.PNG"),"Sunset",list,this);
item3=new QListWidgetItem(QIcon("D://Water lilies.PNG"),"Water lilies",list,this);
connect(list,SIGNAL(itemClicked(QListWidgetItem*)),this,SLOT(myitem(QListWidgetItem*)));
llb=new QLabel("Image will be displayed here");
llb->setAlignment(Qt::AlignCenter);
lay=new QGridLayout(this);
lay->addWidget(list,0,0);
lay->addWidget(llb,0,1);
lay->addWidget(lbl,0,1);
setLayout(lay);
showMaximized();
setStyleSheet("* { background-color:rgb(199,147,88); padding: 7px ; color:rgb(255,255,255)}");
}
database::~database()
{
}
void database::myitem(QListWidgetItem *my)
{
QPixmap pix;
llb->hide();
QIcon ico;
ico=my->icon();
pix=ico.pixmap(QSize(400,400),QIcon::Selected,QIcon::On);
lbl->setPixmap(pix.scaled(pix.size(),Qt::KeepAspectRatio,Qt::SmoothTransformation));
}
Captura de tela do emulador
Visão da IDE Creator
Exemplo
- Faça o Download de um projeto, de exemplo, Screen.zip



(no comments yet)