qt 实现 轮播图效果,且还有 手动 上一页和下一页 已解决

         QT中有 轮播图的需求,按照正常html版本 。只需要配置数组就能搞定,但是c++ qt版本 应该用什么了。 第一想到的是采用定时器。

// 定时器初始化
	{
		m_pTime = new QTimer(this);

		m_pTime->start(4 * 1000);//启动定时器并设置播放时间间隔

		m_pAutoFlag = true;
		//连接自动播放槽函数
		connect(m_pTime, SIGNAL(timeout()), this, SLOT(myautoPhotoSlot()));
    	// 上一页
	    connect(ui->imgToolBtn2, &QPushButton::toggled, [=](bool bChecked) {
		    myautBtnPhotoSlot("previous");
	    });

	    // 下一页
	    connect(ui->imgToolBtn1, &QPushButton::toggled, [=](bool bChecked) {
		    myautBtnPhotoSlot("next");
	    });
    }


//自动播放函数
void CCendDetailsTabWidget::myautoPhotoSlot()
{
	if (m_num != m_bannerList.count() && m_num <= m_bannerList.count())
	{
		QPixmap tempDir = m_bannerList.at(m_num); //从容器中找到要播放的照片的相对路径
		ui->label_2->setScaledContents(true);
		ui->label_2->setPixmap(QPixmap(tempDir));//显示图片
	}

	//判断自动播放的时候是否播放到了最后一张图片,如果是则停止自动播放
	if (m_num == m_bannerList.count())
	{
		m_num = 0;
	}

	if (m_pAutoFlag)
	{
		m_num++;
	}
}

//自动播放函数
void CCendDetailsTabWidget::myautBtnPhotoSlot(QString name)
{
	if (name == "previous")
	{
		m_num--;
	}
	else {
		m_num++;
	}
	if (m_num < 0)
	{
		m_num = 0;
	}

	if (m_num > m_bannerList.count())
	{
		m_num = m_bannerList.count();
	}

	if (m_num > 0 && m_num < m_bannerList.count())
	{
		QPixmap tempDir = m_bannerList.at(m_num); //从容器中找到要播放的照片的相对路径
		ui->label_2->setScaledContents(true);
		ui->label_2->setPixmap(QPixmap(tempDir));//显示图片
		ui->imgToolTitle->setText(m_bannerNmaeList.at(m_num));
	}
}

相关推荐

  1. /

    2024-03-24 19:40:01       25 阅读
  2. VUE实现的功能

    2024-03-24 19:40:01       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-24 19:40:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-24 19:40:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-24 19:40:01       82 阅读
  4. Python语言-面向对象

    2024-03-24 19:40:01       91 阅读

热门阅读

  1. 阿里云部署OneApi

    2024-03-24 19:40:01       38 阅读
  2. 【Prometheus】查询数据接口

    2024-03-24 19:40:01       34 阅读
  3. 创建各类三角形

    2024-03-24 19:40:01       41 阅读
  4. Python:继承

    2024-03-24 19:40:01       43 阅读
  5. C++ 日期 & 时间

    2024-03-24 19:40:01       42 阅读
  6. [falsk]flask加载项目配置的两种方式

    2024-03-24 19:40:01       48 阅读
  7. uniapp离线打包笔记

    2024-03-24 19:40:01       39 阅读
  8. 单元测试框架 Junit

    2024-03-24 19:40:01       44 阅读
  9. 算法刷题记录 Day25

    2024-03-24 19:40:01       43 阅读
  10. 条件约束聚类并显示

    2024-03-24 19:40:01       39 阅读