Qt | 仿安卓Toast实现异步渐变弹窗提示
源代码:https://gitee.com/zbylalalala1/qt_toast
示例截图
单点:

多次点击堆叠效果

概述
之前项目需求需要使用android进行开发,因为之前学习过java,简单学习了一下android就直接上项目了,在开发过程中发现android的Toast控件非常好用,于是就想使用qt实现一个类似的控件。并且能支持多种消息类型和显示时长,具有渐入渐出动画效果。
功能特性
计划设计集中固定的显示模式
-
支持三种消息类型:
- 普通消息 (NORMAL)
- 警告消息 (WARNING)
- 危险消息 (DANGER)
-
支持两种显示时长:
- 短时长 (SHORT_DUR - 1000ms)
- 长时长 (LONG_DUR - 2000ms)
-
自动堆叠显示多个消息
-
平滑的淡出动画效果
-
圆角矩形背景
-
半透明效果
使用方法
基本调用
#include "Toast.h"
// 显示普通消息,短时长
Toast::showToast(parentWidget, "操作成功");
// 显示警告消息,长时长
Toast::showToast(parentWidget, "警告:磁盘空间不足", Toast::WARNING, Toast::LONG_DUR);
// 显示危险消息
Toast::showToast(parentWidget, "错误:文件保存失败", Toast::DANGER);
### 集成到项目
1. 将以下文件添加到您的项目中:
- `Toast.h`
- `Toast.cpp`
2. 在您的项目文件(.pro)中包含 Toast.pri:
include($$PWD/Toast/Toast.pri)
定义的枚举
枚举类型
enum Duration {
LONG_DUR = 2000, // 长时长(2000ms)
SHORT_DUR = 1000 // 短时长(1000ms)
};
enum ToastType {
NORMAL, // 普通消息
WARNING, // 警告消息
DANGER // 危险消息
};
主要方法
-
showToaststatic void showToast(QWidget *parent, const QString &message, const ToastType &type = NORMAL, Duration duration = SHORT_DUR);显示 Toast 消息
浙公网安备 33010602011771号