通过qt将图片在窗口中显示出来
1.首先说说背景图片的显示
void setBackgroundImage(const QString &strPath)
{
QPixmap pixmap(strPath);
QPalette palette=this->palette();
if(strPath.isEmpty())
{
palette.setBrush(Qpalette::Base,QBrush(QColor(0,0,225)));
}
else
{
palette.setBrush(QPalette::Brush,QBrush(pixmap.scaled(width(),height())));
}
setPalette(palette);
}
2.通过QListWidget来显示GridView形式
MainWindow::MainWindow(QWidget *parent):QMainWidget(parent)
{
//创建QListWidget
QListWidget *m_pListWidget=new QListWidget(this);
//设置QListWidget中的单元项的图片大小
m_pListWidget->setIconSize(QSize(W_ICONSIZE,H_ICONSIZE));
m_pListWidget->setResizeMode(QListView::Adjust);//当前选项卡调整选项后重新显示
//设置QListWidget的显示模式
m_pListWidget->setViewMode(QListView::IconMode);
设置QlistView中的单元项不可以被拖动
m_pListWidget->setMovement(QListView::Static);
设置QListWidget中的单元项之间的距离
m_pListWidget->setSpacing(10);
//依次创建11个单元格
for(int nIndex=0;nIndex<11;nIndex++)vo
{
获取图片路径
QString strPath=QString("D:/image.JPEG".arg(nIndex+1));
生成图像
QPixmap pixmap(strPath);
生成QLIstWidgetItem对象,对Icon进行伸缩96*96,scaled函数
QListWidgetItem *pItem=new QListWidgetItem(QIcon(pixmap.scaled(QSize(W_ICONSIZE,H_ICONSIZE))),"animal tiger");
设置单元项的宽度和高度
pItem->setSizeHint(QSize(W_ICONSIZE,H_ICONSIZE));
m_pListWidget->insertItem(nIndex,pItem)
}
setCentralWidget(m_pListWidget);
connect(m_pListWidget,SIGNAL(itemClicked(QListWidget*)),this,SLOT(SlotItemClicked(QListWidget*)));
QString m_strPath="";
setWindowTitle("Picture Show");
}