当前位置: 首页 > news >正文

网站的结构设计已收录的网站不好优化

网站的结构设计,已收录的网站不好优化,晋江建设银行招聘网站,提供网站建设费用文章目录 在 Qt 中使用 QLabel 设置 GIF 动态背景本文食用注意目标实现步骤1. 准备工作2. 修改头文件 widget.h3. 实现构造函数和析构函数4. 调整背景大小5. 完整代码分析6. 运行程序 总结 在 Qt 中使用 QLabel 设置 GIF 动态背景 在 Qt 中#xff0c;如果希望在窗口中设置一… 文章目录 在 Qt 中使用 QLabel 设置 GIF 动态背景本文食用注意目标实现步骤1. 准备工作2. 修改头文件 widget.h3. 实现构造函数和析构函数4. 调整背景大小5. 完整代码分析6. 运行程序 总结 在 Qt 中使用 QLabel 设置 GIF 动态背景 在 Qt 中如果希望在窗口中设置一个 GIF 动画作为背景同时保留其他控件的正常显示需要一些技巧来确保 GIF 动画铺满整个窗口并位于所有控件的底层。下面将介绍如何使用 QLabel 和 QMovie 在 Qt 中实现这一效果。 本文食用注意 本文大部分只需粘贴复制需改动的只有一处即要展示GIF动图的文件地址。 目标 在窗口中设置一个全屏的 GIF 动画作为背景。保证 GIF 背景不遮盖其他控件。动态调整 GIF 背景使其随窗口大小变化。 实现步骤 1. 准备工作 确保你在 Qt 工程中已经有一个用于设计 UI 的 widget.ui 文件并且包含一个主要的窗口类例如 Widget。在项目的资源文件.qrc中添加要使用的 GIF 文件。 2. 修改头文件 widget.h 首先在 widget.h 中声明必要的成员变量包括用于显示背景的 QLabel 和用于加载 GIF 动画的 QMovie。 #ifndef WIDGET_H #define WIDGET_H#include QWidget #include QLabel #include QMovienamespace Ui { class Widget; }class Widget : public QWidget {Q_OBJECTpublic:explicit Widget(QWidget *parent nullptr);~Widget();protected:void resizeEvent(QResizeEvent *event) override;private:Ui::Widget *ui;QLabel *backgroundLabel; // 用于显示背景 GIF 的 QLabelQMovie *backgroundMovie; // 用于背景的 QMovieQMovie *iconMovie; // 用于其他动画的 QMovie };#endif // WIDGET_H3. 实现构造函数和析构函数 在 widget.cpp 中实现 Widget 构造函数和析构函数。确保每个 QLabel 都有独立的 QMovie 实例。 #include widget.h #include ui_widget.h #include QImageReaderWidget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui-setupUi(this);// 创建 QLabel 并将其设置为 Widget 的子控件backgroundLabel new QLabel(this);backgroundLabel-setGeometry(0, 0, this-width(), this-height()); // 初始大小backgroundLabel-setScaledContents(true); // 让 QLabel 自动缩放内容// 加载用于背景的 GIF 文件backgroundMovie new QMovie(:/bag);//这里替换为你的GIF文件地址即可// 将 QMovie 关联到 QLabelbackgroundLabel-setMovie(backgroundMovie);// 设置 QLabel 为透明背景backgroundLabel-setAttribute(Qt::WA_TranslucentBackground, true);// 设置 QLabel 在布局的最底层backgroundLabel-lower();// 开始播放背景 GIF 动画backgroundMovie-start();// 调整背景大小使其始终填满窗口connect(backgroundMovie, QMovie::frameChanged, this, []() {// 计算缩放后的尺寸QPixmap scaledPixmap backgroundMovie-currentPixmap().scaled(this-size(), Qt::KeepAspectRatioByExpanding, Qt::SmoothTransformation);backgroundLabel-setPixmap(scaledPixmap);});// 创建用于 ui-lab_icon 的 QMovie 并加载 GIF 动图iconMovie new QMovie(:/imgs/a.gif);// 设置 QLabel 的 QMovieui-lab_icon-setMovie(iconMovie);// 启动动画iconMovie-start();connect(iconMovie, QMovie::frameChanged, this, []() {// 获取当前帧并缩放QImage currentImage iconMovie-currentImage(); // 获取当前帧QPixmap pixmap QPixmap::fromImage(currentImage.scaled(ui-lab_icon-size(), Qt::KeepAspectRatio, Qt::SmoothTransformation));ui-lab_icon-setPixmap(pixmap); // 设置 QLabel 的 pixmap});iconMovie-stop();// 其他代码connect(ui-bth_back, QPushButton::clicked, this, Widget::back);connect(ui-bth_stare, QPushButton::clicked, this, Widget::stare); }Widget::~Widget() {delete backgroundMovie;delete iconMovie;delete ui; }4. 调整背景大小 为了确保 GIF 背景在窗口大小变化时能动态调整我们重载 resizeEvent。 void Widget::resizeEvent(QResizeEvent *event) {QWidget::resizeEvent(event);// 调整 QLabel 大小backgroundLabel-resize(this-size()); }5. 完整代码分析 创建 QLabel 作为背景backgroundLabel 被创建为窗口的子控件并设置为全屏。加载并关联 QMovieQMovie 被加载并设置为 backgroundLabel 的内容使用 setMovie 进行关联。调整大小resizeEvent 函数确保了 QLabel 和背景动画在窗口调整大小时保持同步。独立的 QMovie 实例为了避免动画冲突backgroundLabel 和其他动画控件如 ui-lab_icon 分别使用独立的 QMovie 实例。 6. 运行程序 在 main.cpp 中无需修改只需实例化 Widget 并显示 #include widget.h #include QApplicationint main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); }总结 通过在 Widget 中创建一个全屏的 QLabel 并将 QMovie 关联到它可以实现一个动态的 GIF 背景。QLabel 被设置在布局的最底层并通过重载 resizeEvent 保持动画在窗口大小变化时的同步。这样你就可以在 Qt 应用程序中添加一个动态背景同时不影响其他控件的显示和操作。
http://www.dnsts.com.cn/news/75453.html

相关文章:

  • 网站建设3要素个人做淘宝客网站不能备案吗
  • 邯郸做网站的公司哪家好wordpress远程写作
  • 百度站长中心编写网站用什么语言
  • 济南网站建设服务商wordpress用户管理 插件
  • 淘宝宝贝链接怎么做相关网站v2ray wordpress
  • 英文网站模板源代码seo是指
  • 山东助企网站建设推广任务发布平台app
  • 在线商城网站模板深圳画册设计价格
  • dnf网站上怎么做商人wordpress portfolio 缩略图
  • 成都网站优化推广免费网站空间 推荐
  • 万户做网站好不好百度快照手机入口
  • 适合大学生创业的网站建设类型陕西省住房建设部官方网站一建
  • 专做程序员招聘的网站外网加速器试用七天
  • 工人找工作哪个网站好江苏建筑职业技术学院
  • 南通做网站价格网上办卡
  • 大良营销网站建设服务淘宝网那样的网站模板
  • 网站备案 不关站网站建设空间空间有几种类型
  • 做房产中介网站青岛企业建站系统
  • 网站建设实践建设招标网是什么网站
  • 制作自己的网站多少钱安全员考试成绩查询网
  • 凡客诚品首页html网站百度关键词seo排名优化
  • 建设流网站项目网站建设专家评审意见
  • 瑞金网站建设光龙在线制作diy电子印章
  • 东莞网站建设制作威海人才招聘网官网
  • 祥云平台网站管理系统湖南网站设计外包哪家好
  • nas wordpress备案seo专员简历
  • 做影视后期应该关注哪些网站仿牌网站
  • 网站文章没有被收录吗网站建设运营公司大全
  • 商务网站开发作业包装设计报价明细
  • 网站建设与维护 pdf滕州外贸软件公司