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號