推广 热搜:

使用Qt实现简单的图片预览效果

   2021-01-30 58
核心提示:Qt简化了UI界面的开发,相比MFC而言确实入门和进阶速度都快些;该文章主要讲解使用QListWidget加载图片进行排列并设置主窗口背景图片的功能;界面效果如下图所示:上面两排
 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://www.zdh168.com/yuanma/show-65.html
 
举报 收藏 打赏
 
更多>同类QT
推荐图文
推荐QT
推荐QT
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报