中国做外贸最好的网站有哪些,网站系统维护,动态域名可以建网站,网站建设需要哪种人才1、概述 源码放在文章末尾
该项目实现了界面轮播图的效果#xff0c;包含如下特点#xff1a; 左右轮播 鼠标悬浮切换#xff0c;无需点击 自动定时轮播 自动裁剪和缩放不同尺寸图片 任意添加、插入、删除 单击事件#xff0c;支持索引和自定义文本 界面美观#xff0c;圆…1、概述 源码放在文章末尾
该项目实现了界面轮播图的效果包含如下特点 左右轮播 鼠标悬浮切换无需点击 自动定时轮播 自动裁剪和缩放不同尺寸图片 任意添加、插入、删除 单击事件支持索引和自定义文本 界面美观圆角、阴影、卡片内偏移、非线性并行动画、渐变切换等 与其他的轮播图不同在图片切换的同时每张图片内部还有一丝丝的“漂移”效果。除了带来灵活的视觉效果外还使得左右缩略图露出的部分可以很好的显示偏向中心的内容。
另外在两图交替的那一瞬间采用了很微妙的渐变消失特效从而不会产生瞬间变换的闪屏感觉这是其它轮播图都未能做到的。
项目demo演示如下所示
项目部分代码如下所示
#include QPainter
#include QPainterPath
#include sidehidelabel.hSideHideLabel::SideHideLabel(QWidget *parent) : QLabel(parent)
{
}SideHideLabel *SideHideLabel::copy(const SideHideLabel *other)
{SideHideLabel* label new SideHideLabel(other-parentWidget());label-setGeometry(other-geometry());label-sideOffset other-sideOffset;label-startX other-startX;label-radius other-radius;label-pixmap other-pixmap;return label;
}void SideHideLabel::setPixmap(const QPixmap pixmap, double sideMaxOffset)
{
// QLabel::setPixmap(pixmap);this-pixmap pixmap;this-startX -sideMaxOffset; // 单边的长度
}double SideHideLabel::getMaxOffset() const
{return -startX;
}void SideHideLabel::paintEvent(QPaintEvent *e)
{
// QLabel::paintEvent(e);
// return ;QPainter painter(this);painter.setRenderHint(QPainter::Antialiasing);painter.setRenderHint(QPainter::SmoothPixmapTransform);QPainterPath path;path.addRoundedRect(rect(), radius, radius);painter.setClipPath(path);QPixmap newPixmap pixmap.scaledToHeight(this-height(), Qt::FastTransformation);painter.drawPixmap(int(startX sideOffset), 0,newPixmap.width(), newPixmap.height(),newPixmap);
}void SideHideLabel::setSideOffset(double of)
{this-sideOffset of;update();
}double SideHideLabel::getSideOffset() const
{return sideOffset;
}
源码下载