使用Qt实现简单的图片预览效果
来源:互联网 发布:imax影片数据 编辑:程序博客网 时间:2024/05/16 15:53
Qt简化了UI界面的开发,相比MFC而言确实入门和进阶速度都快些;该文章主要讲解使用QListWidget加载图片进行排列并设置主窗口背景图片的功能;
界面效果如下图所示:上面两排为预加载的缩略图,单击单个缩略图则将对应的图片设置为主窗口的背景图片
主要代码如下,主窗口的构造函数功能(生成窗口部件与加载内容):
//构造函数
MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{
//创建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);
//设置QListWidget中的单元项不可被拖动
m_pListWidget->setMovement(QListView::Static);
//设置QListWidget中的单元项的间距
m_pListWidget->setSpacing(10);
//依次创建11个单元项
for
(
int
nIndex = 0;nIndex<11;++nIndex)
{
//获得图片路径
QString strPath=QString(
":/list/image/%1.jpg"
).arg(nIndex+1);
//生成图像objPixmap
QPixmap objPixmap(strPath);
//生成QListWidgetItem对象(注意:其Icon图像进行了伸缩[96*96])---scaled函数
QListWidgetItem *pItem =
new
QListWidgetItem(QIcon(objPixmap.scaled(QSize(W_ICONSIZE,H_ICONSIZE))),
"animal tiger pig"
);
//设置单元项的宽度和高度
pItem->setSizeHint(QSize(W_ICONSIZE,H_ITEMSIZE));
m_pListWidget->insertItem(nIndex, pItem);
}
setCentralWidget(m_pListWidget);
//设置信号槽
connect(m_pListWidget,SIGNAL(itemClicked(QListWidgetItem*)),
this
,SLOT(Slot_ItemClicked(QListWidgetItem*)));
m_strPath =
""
;
setWindowTitle(
"www.hnmade.com"
);
}
设置窗口背景图片的代码如下:
//设置主窗口背景
void
MainWindow::SetBgImage(
const
QString &strPath)
{
QPixmap objPixmap(strPath);
QPalette palette =
this
->palette();
if
(strPath.isEmpty())
{
palette.setBrush(QPalette::Base, QBrush(QColor(0,0,255)));
}
else
{
palette.setBrush(QPalette::Base, QBrush(objPixmap.scaled(width(),height())));
}
setPalette(palette);
}
源码下载地址:http://files.cnblogs.com/appsucc/ListWidgetImage.rar
移动电商平台搭建:http://www.imooc.com/learn/100
1 0
- 使用Qt实现简单的图片预览效果
- 使用Qt实现简单的图片预览效果
- 使用Qt实现简单的图片预览效果
- 使用Qt实现简单的图片预览效果
- 使用Qt实现简单的图片预览效果
- js 的简单的图片预览效果
- javaScript实现图片的预览效果
- js实现图片上传的预览效果
- 使用jquery简单实现图片预览功能
- 图片预览功能的简单实现
- html 使用js+css+html实现图片划过预览效果
- HTML使用FileReader对象的readAsDataURL()方法实现图片的上传预览效果
- javascript实现上传图片前的预览效果
- jquery 预览图片的效果
- IOS 图片的预览效果
- QT实现简单的下雪效果
- JavaScript + CSS 实现图片放大预览效果
- jQuery实现图片预览大图效果
- 排序算法之分配排序(线性时间排序)
- Hadoop datanode无法启动解决方案
- 持之以恒改善质量
- 黑马程序员---银行业务调度系统
- C#语言基础
- 使用Qt实现简单的图片预览效果
- 黑客入侵WinXP常用七个技巧
- Eclipse SDK构建J2EE开发环境
- 集合转换成SQL语句的in后的字符串
- git 教程 记录
- 【19】实现strcpy和memcpy函数
- 黑白·人生
- cocos2dx selector(回调函数)详细
- 未能正确加载包DataWareHouse VSIntegration layer"