# qt-notify2 ### 介绍 qt-notify功能增强、全新实现版本,原版 https://gitee.com/cassfrontend/qt-notify ![](./screenshot.gif) ### 较原版增强功能 1. 超出最大显示数时,将显示闪烁消息图标和队列中的数量 2. 消息主体不限于单行,改为多行显示,仍支持自动截短加省略号 3. 点击消息不限于按URL链接处理,可自行通过信号连接显示详细信息界面 4. 消息提示框加阴影效果 5. 提示框右键关闭 6. 改进的示例代码 ### 接口改进 1. 更精简的主体代码 2. 所有可配置项都改为函数接口,包括显示时间、动画时间、窗口大小、位置间隔、默认图标、是否显示超出消息数 3. 提示消息不限于标题、主体、图标、链接4项数据,使用自定义data(QVariantMap)扩展 4. 图标、链接可省略,可使用默认图标,也可在data中传入icon、url等 5. 点击提示,通过信号notifyDetial传出,连接后可自行处理 ### 使用说明 ```c++ NotifyManager *manager = new NotifyManager(this); manager->setMaxCount(3); // 默认5 manager->setDisplayTime(5000); // 默认10000 manager->setAnimateTime(500); // 默认300 manager->setSpacing(5); // 默认10 manager->setCornerMargins(20, 20); // 默认10, 10 manager->setNotifyWndSize(300, 75); // 默认300, 60 manager->setDefaultIcon(":/message.png"); // 默认":/message.png" manager->setShowQueueCount(true); // 默认true // 基本用法 manager->notify("消息标题", "消息主体"); // 扩展用法 QVariantMap data; data["icon"] = ":/messageXXX.png"; //data["icon"] = QPixmap(xxx); data["name"] = "张三"; data["location"] = "XX市XX路"; data["money"] = 30.59; manager->notify("支付信息", "XXX商家XXX商品", data); // 点击消息处理 QObject::connect(manager, &NotifyManager::notifyDetial, [](const QVariantMap &data){ QMessageBox::information(this, data.value("title").toString(), data.value("body").toString()); }); ```