备忘:Qt如何配置wintoast

news/发布时间2024/5/17 14:27:02
  1. 去原项目拷下来wintoastlib.hwintoastlib.cpp

  2. 丢进项目目录里分别注册为头文件和源文件。
    如果用CMake愿意也可以注册为外部库。做法是CMake里加上:

add_library(WinToast wintoastlib.cpp wintoastlib.h)
target_link_libraries(WinToast)
  1. 一个widget.cpp的配置例子:
#include "widget.h"
#include "./ui_widget.h"//Step1. 引入wintoastlib
#include "wintoastlib.h"//Step2. 构造一个CustomHandler类
class CustomHandler : public WinToastLib::IWinToastHandler {
public:void toastActivated() const {std::wcout << L"The user clicked in this toast" << std::endl;}void toastActivated(int actionIndex) const {std::wcout << L"The user clicked on button #" << actionIndex << L" in this toast" << std::endl;}void toastFailed() const {std::wcout << L"Error showing current toast" << std::endl;}void toastDismissed(WinToastDismissalReason state) const {switch (state) {case UserCanceled:std::wcout << L"The user dismissed this toast" << std::endl;break;case ApplicationHidden:std::wcout << L"The application hid the toast using ToastNotifier.hide()" << std::endl;break;case TimedOut:std::wcout << L"The toast has timed out" << std::endl;break;default:std::wcout << L"Toast not activated" << std::endl;break;}}
};Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{//Step3. 按如下方式初始化设置AUMI等以便告知Windows这是个什么程序,内容替换为您需要的WinToastLib::WinToast::instance()->setAppName(L"WinToastTest");const auto aumi = WinToastLib::WinToast::configureAUMI(L"izwb003", L"wintoast", L"WinToastTest", L"20161006");WinToastLib::WinToast::instance()->setAppUserModelId(aumi);if (!WinToastLib::WinToast::instance()->initialize()) {std::wcout << L"Error, could not initialize the lib!" << std::endl;}elsestd::cout<<"OK"<<std::endl;//Step4. 构建Toast并显示。参考原项目文档WinToastLib::WinToastTemplate templ = WinToastLib::WinToastTemplate(WinToastLib::WinToastTemplate::Text02);templ.setTextField(L"title", WinToastLib::WinToastTemplate::FirstLine);templ.setTextField(L"subtitle", WinToastLib::WinToastTemplate::SecondLine);templ.setAudioOption(WinToastLib::WinToastTemplate::Silent);const auto toast_id = WinToastLib::WinToast::instance()->showToast(templ, new CustomHandler());
}Widget::~Widget()
{delete ui;
}

以上做法adapted一下即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ulsteruni.cn/article/28463020.html

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

Wordpress安装主题及CSV文件的导入、导出、更新

Wordpress安装主题及CSV文件的导入、导出、更新安装主题外观->主题->安装主题->上传主题->立即安装->完成主题->启用即可导出数据A站点->商品管理->产品导出->生成CSV得到CSV表格文件导入数据B站点->插件->导入选择产品->选择导入方式->…

N80-第7期作业-N80042

总结pg和mysql的优劣势。 PostgreSQL相对于MySQL的优势 PostgreSQL遵循BSD协议,这意味着使用 PostgreSQL 无任何限制。 可支持 C、C++、Java、PHP、Python 及 Perl 等,使您的业务开发更简单更易用。 PostgreSQL 是架构、语法、数据类型等与 Oracle 最接近的开源数据库。 兼容…

算法:字典树 (转自九章算法)

https://www.jiuzhang.com/solution/implement-trie/算法:字典树 思路:题目要求实现一个Trie,包含插入、查找和查找前缀三个方法。 Trie树也称字典树,因为其效率很高,所以在在字符串查找、前缀匹配等中应用很广泛,其高效率是以空间为代价的。 原理:利用串构建一个字典树…

04 图像标签

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>图像标签</title> </head> <body> <img src="/resources/image/1.png" alt="爱莉希亚" title="悬停…

软工作业2:Python实现论文查重

Java实现论文查重 软件工程|https://edu.cnblogs.com/campus/gdgy/CSGrade21-12?page=4 作业要求|https://edu.cnblogs.com/campus/gdgy/CSGrade21-12/homework/13014 作业目标|计一个论文查重算法,给出一个原文文件和一个在这份原文上经过了增删改的抄袭版论文的文件,在答案…

RRRRRc4

moectf{y0u_r3a11y_understand_rc4!!!!}RRRRRc4根据字符串锁定关键的判断语句 f5进入根据伪代码逻辑发现:byte_140196000[j]为加密后的数据,且点击查看数据得到sub_140075052((unsigned int)v5, (unsigned int)v6, (unsigned int)byte_140197260, 38, (__int64)v7, 10);为rc…