PackageKit使用(二)

        本篇主要讲述,如何调用PackageKit c++库的接口,只举例个别接口,基本上通用。

//检测更新
auto refresher = PackageKit::Daemon::refreshCache(false);connect(refresher, &PackageKit::Transaction::errorCode, this, &MainWindow::errorMessage);auto success = connect(refresher, &PackageKit::Transaction::finished,this, &MainWindow::setupGetUpdateTransaction);if (!success) {qDebug() << "Failed to connect signal and slot";} else {qDebug() << "true";}
}void MainWindow::setupGetUpdateTransaction()
{qDebug() << "detection System Updates";PackageKit::Daemon *daemon = PackageKit::Daemon::global();PackageKit::Transaction *tx = daemon->getUpdates();connect(tx, &PackageKit::Transaction::errorCode, this, &MainWindow::errorMessage);connect(tx, &PackageKit::Transaction::package, this, &MainWindow::saveUpgradePackage);connect(tx, &PackageKit::Transaction::finished, this, &MainWindow::upgradeSystem);connect(tx, &PackageKit::Transaction::percentageChanged, this, [=](){qDebug() << "getUpdates percentageChanged" << tx->percentage();});
}//更新包if (m_updateSecurityList.empty() && m_updateSystemList.empty()) return;PackageKit::Transaction *tx = PackageKit::Daemon::updatePackages(m_updateSecurityList.values());connect(tx, &PackageKit::Transaction::errorCode, this, &MainWindow::errorMessage);connect(tx, &PackageKit::Transaction::package, this, &MainWindow::deleteUpgradedPackage);connect(tx, &PackageKit::Transaction::finished, this, [=](){qDebug() << "update finish";});connect(tx, &PackageKit::Transaction::percentageChanged, this, [=](){qDebug() << "Updates percentageChanged" << tx->percentage();});//区分包的种类void MainWindow::saveUpgradePackage(PackageKit::Transaction::Info info,const QString &packageID,const QString &summary)
{qDebug() << "info is " << info << PackageKit::Daemon::packageName(packageID);if (info == PackageKit::Transaction::InfoSecurity) {m_updateSecurityList.insert(packageID);} else {m_updateSystemList.insert(packageID);}
}void MainWindow::deleteUpgradedPackage(PackageKit::Transaction::Info info, const QString &packageID, const QString &summary)
{if (info == PackageKit::Transaction::InfoSecurity && m_updateSecurityList.contains(packageID)) {m_updateSecurityList.remove(packageID);} else if (m_updateSystemList.contains(packageID)){m_updateSystemList.remove(packageID);}
}

        PackageKit 有很多封装好的接口,并且有相应的信号传送,可以下载源码,查看头文件,注释写的很详细。

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

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

相关文章

关于YOLO8学习(三)训练自定义的数据集

前文 关于YOLO8学习(一)环境搭建,官方检测模型部署到手机 关于YOLO8学习(二)数据集收集,处理 简介 本文将会讲解: (1)如何通过PyCharm,进行训练数据,实现人脸检测 开发环境 win10、python 3.11、cmake、pytorch2.0.1+cu117、pycharm、ultralytics==8.0.134 要特…

计算机网络 3.2网络体系结构

第二节 网络体系结构 一、网络协议 1.定义&#xff1a; ①通信双方共同遵守的规则。 ②为网络数据交换制定的规则、约定与标准。 ③网络实体之间通信时有关信息传输顺序、信息格式、信息内容的约定或规则。 2.协议三要素&#xff1a; 语法&#xff1a;确定协议元素的格式…

电子邮件协议

目录 概述 电子邮件系统 客户端 服务器 MIME规范 MIME类型 MIME编码 SMTP协议 SMTP命令和响应 SMTP认证 POP协议 POP连接过程 POP模式 IMAP协议 IMAP连接过程 IMAP模式 总结 概述 电子邮件是互联网时代最常用的通信方式之一&#xff0c;它允许人们在世界各地快…

Double 4 VR智能互动情景教学系统在商务英语课堂中的应用

随着科技的不断发展&#xff0c;虚拟现实技术&#xff08;VR&#xff09;已经逐渐渗透到教育领域&#xff0c;为课堂教学带来了新的可能性。商务英语课堂也不例外&#xff0c;VR智能互动情景教学系统在商务英语课堂中的应用&#xff0c;能够为学生提供更加真实、生动的商务场景…

大模型和传统ai的区别

在人工智能&#xff08;AI&#xff09;领域&#xff0c;大模型一直是一个热议的话题。从之前的谷歌 DeepMind、百度 Big. AI等&#xff0c;再到今天的百度GPT-3,人工智能技术经历了从“有”到“大”的转变。那么&#xff0c;大模型与传统 ai的区别在哪里&#xff1f;这对未来人…

牛客NC97 字符串出现次数的TopK问题【中等 哈希+优先级队列 Java/Go】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/fd711bdfa0e840b381d7e1b82183b3ee 核心 哈希&#xff0c;优先级队列Java代码 import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返…

deepstream std mean 对应的计算方法

pytorch中经典值mean[0.485, 0.456, 0.406]&#xff0c;std [0.229, 0.224, 0.225] 在deepstream中的计算方法 deepstream 对应计算公式&#xff1a;y net scale factor*(x-mean) &#xff0c;deepstream中mean也叫作offset deepstream中mean(offset)计算方法为&#xff1a…

[力扣]——387.字符串中的第一个唯一字符

. - 力扣&#xff08;LeetCode&#xff09; class Solution {public int firstUniqChar(String s) {int[] count new int[256];// 统计每个字符出现的次数for(int i 0; i < s.length(); i){count[s.charAt(i)];}// 找第一个只出现一次的字符for(int i 0; i < s.lengt…

轻松实现MySQL集群配置:一主一从与一主多从教程

在数据驱动的时代&#xff0c;数据库的高可用性和负载分散成为了维护在线服务稳定运行的关键。MySQL作为世界上最流行的开源关系型数据库管理系统&#xff0c;其集群配置是任何DBA或开发人员必须掌握的技能之一。本文将为您详细介绍如何轻松配置MySQL的一主一从和一主多从集群&…

python基础 面向练习学习python1

python基础 面向练习学习python1 1. 电话查询问题描述1. 问题分析1. 输入输出分析2. 需求分析&#xff1a;将题目的数据存储并查询2. 所需知识&#xff1a; python 数据存储的类型3. 确定数据存储类型4. 如何书写代码拓展 从键盘中添加或删除联系人5. 回到数据查询 代码拓展 功…

QT--day3

1、mywidget.h #ifndef MYWIDGET_H #define MYWIDGET_H #include <QWidget> #include<QIcon> //图标类 #include<QLabel> //标签类 #include<QMovie> //动图类 #include<QLineEdit> //行编辑器类 #include<QPushButton> //按钮类 #include…

英伟达与AMD锁定台积电先进封装产能,AI市场驱动营收增长

全球AI芯片巨头英伟达和AMD正全力冲刺高效能运算&#xff08;HPC&#xff09;市场&#xff0c;并传出两家公司已预订了台积电2023年和2024年的CoWoS与SoIC先进封装产能。台积电高度看好人工智能相关应用所带来的巨大动能&#xff0c;其总裁魏哲家在4月的法说会上表示&#xff0…

protobuf在配置文件管理上的应用

TextFormat::ParseFromString 是 Google Protocol Buffers&#xff08;通常简称为 Protobuf&#xff09;库中的一个函数&#xff0c;用于从文本格式解析消息。Protobuf 是一种用于序列化结构化数据的库&#xff0c;它允许你定义数据的结构&#xff0c;然后自动生成源代码来处理…

【stm-4】PWM驱动LED呼吸灯 PWM驱动舵机PWM驱动直流电机

1.PWM驱动LED呼吸灯 void TIM_OC1Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct); //结构体初始化输出比较单元 void TIM_OC2Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct); void TIM_OC3Init(TIM_TypeDef* TIMx, TIM_OCInitTypeDef*…

学习笔记:IEEE 1003.13-2003(POSIX实时与嵌入式规范)

一、文档 在线参考&#xff1a; IEEE 1003.13-2003 免费下载Draft 版本&#xff08;pdf&#xff09;&#xff1a;IEEE Std. 1003.13 二、概念 1、POSIX标准 可移植操作系统接口&#xff08;英语&#xff1a;Portable Operating System Interface&#xff0c;缩写为POSIX&a…

Bugku Crypto 部分题目简单题解

抄错的字符 题目描述&#xff1a; 老师让小明抄写一段话&#xff0c;结果粗心的小明把部分数字抄成了字母&#xff0c;还因为强迫症把所有字母都换成大写。你能帮小明恢复并解开答案吗&#xff1a; QWIHBLGZZXJSXZNVBZW 观察疑似base64解码&#xff0c;尝试使用cyberchef解码…

Springboot+vue项目人事管理系统

开发语言&#xff1a;Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架:springbootvue JDK版本&#xff1a;jdk1.8 文末获取源码 系统主要分为管理员和普通用户和员工三部分&#xff0c;主要功能包括个人中心&#xff0c;普通用户管理&…

JavaScript异步编程——04-同源和跨域

同源和跨域 同源 同源策略是浏览器的一种安全策略&#xff0c;所谓同源是指&#xff0c;域名&#xff0c;协议&#xff0c;端口完全相同。 跨域问题的解决方案 从我自己的网站访问别人网站的内容&#xff0c;就叫跨域。 出于安全性考虑&#xff0c;浏览器不允许ajax跨域获取…

VBA中类的解读及应用第十二讲:限制复选选择(上)

《VBA中类的解读及应用》教程【10165646】是我推出的第五套教程&#xff0c;目前已经是第一版修订了。这套教程定位于最高级&#xff0c;是学完初级&#xff0c;中级后的教程。 类&#xff0c;是非常抽象的&#xff0c;更具研究的价值。随着我们学习、应用VBA的深入&#xff0…

【数据链路层】以太网基础知识

文章目录 数据链路层初认识以太网 Ethernet 来历以太网发展史和地位以太网分类数据链路层的分层设计 数据链路层初认识 我们可以先打开抓包工具&#xff0c;随便查看某个协议包。会发现所有抓到的包数据链路层基本上都是以太网封装。 因为现在所接触到的网络都是以太网这种网…