您的位置:首页 > 健康 > 美食 > 个人简历网页制作教程_网站建设技术外包_windows11优化大师_河南靠谱seo地址

个人简历网页制作教程_网站建设技术外包_windows11优化大师_河南靠谱seo地址

2025/4/2 5:34:20 来源:https://blog.csdn.net/C_say_easy_to_me/article/details/146690134  浏览:    关键词:个人简历网页制作教程_网站建设技术外包_windows11优化大师_河南靠谱seo地址
个人简历网页制作教程_网站建设技术外包_windows11优化大师_河南靠谱seo地址

1.项目架构

1.UI界面

2.widget.h​

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>#define TIMEOUT   1 * 1000
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);virtual void timerEvent(QTimerEvent *event);~Widget();private slots:void on_startButton_clicked();void on_pardonButton_clicked();private:Ui::Widget *ui;int myTimerId;int picId;
};
#endif // WIDGET_H

3.main.cpp​

#include "widget.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();return a.exec();
}

3.widget.cpp​

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);picId = 2;QPixmap pix("/data/wzh/QT/Qt_1/picture/1.png");ui->label->setPixmap(pix);
}Widget::~Widget()
{delete ui;
}void Widget::on_startButton_clicked()
{//开启定时器,返回定时器编号myTimerId = this->startTimer(TIMEOUT);}void Widget::timerEvent(QTimerEvent *event)
{if (event->timerId() != myTimerId)return;QString path("/data/wzh/QT/Qt_1/picture/");path += QString::number(picId);path += ".png";QPixmap pix(path);ui->label->setPixmap(pix);picId++;if (5 == picId)picId = 1;
}void Widget::on_pardonButton_clicked()
{this->killTimer(myTimerId);
}

2. 程序讲解

1. 初始化界面

Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);picId = 2;QPixmap pix("/data/wzh/QT/Qt_1/picture/1.png");ui->label->setPixmap(pix);
}
  • 界面设置:构造函数中初始化UI组件。

  • 图片加载:使用QPixmap加载第一张图片并显示在QLabel上。

  • 初始图片ID:设置picId为2,表示下一张图片的ID。

2. 启动定时器

void Widget::on_startButton_clicked()
{// 开启定时器,返回定时器编号myTimerId = this->startTimer(TIMEOUT);
}
  • 定时器启动:点击“开始”按钮时,调用startTimer方法启动定时器。

  • 定时器IDstartTimer返回定时器的唯一标识符,用于后续的定时器事件处理。

3. 定时器事件处理

void Widget::timerEvent(QTimerEvent *event)
{if (event->timerId() != myTimerId)return;QString path("/data/wzh/QT/Qt_1/picture/");path += QString::number(picId);path += ".png";QPixmap pix(path);ui->label->setPixmap(pix);picId++;if (5 == picId)picId = 1;
}
  • 事件过滤:检查事件的定时器ID是否与我们启动的定时器ID匹配。

  • 图片路径构造:根据picId构造图片的完整路径。

  • 图片加载与显示:使用QPixmap加载图片并更新QLabel显示。

  • 图片ID循环picId递增,当达到5时重置为1,实现循环播放。

4. 停止定时器

void Widget::on_pardonButton_clicked()
{this->killTimer(myTimerId);
}
  • 停止定时器:点击“停止”按钮时,调用killTimer方法停止定时器。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com