本文主要介绍在PyQt5中,使用dbus监控U盘插拔。

测试环境:python3 + dbus + pyqt5

当无法引入dbus.mainloop.pyqt5时,安装对应的包即可:

sudo apt install python3-dbus.mainloop.pyqt5

测试代码如下

#!/usr/bin/env python3
# encoding: utf-8"""
@time: 18-4-23 上午11:54
"""
import sysimport dbus
from PyQt5.QtWidgets import QWidget, QApplicationfrom dbus.mainloop.pyqt5 import DBusQtMainLoopclass Window(QWidget):def __init__(self):super().__init__()# loop = DBusGMainLoop()DBusQtMainLoop(set_as_default=True)sessionbus = dbus.SessionBus()sessionbus.add_signal_receiver(signal_name="MountAdded",dbus_interface="org.gtk.Private.RemoteVolumeMonitor",path="/org/gtk/Private/RemoteVolumeMonitor",bus_name=None,handler_function=self.mount_added)sessionbus.add_signal_receiver(signal_name="MountRemoved",dbus_interface="org.gtk.Private.RemoteVolumeMonitor",path="/org/gtk/Private/RemoteVolumeMonitor",bus_name=None,handler_function=self.mount_removed)def mount_added(self, sender, id_, data):print("-" * 10, "MountAdded", "-" * 10)print(sender)print(id_)print(data)def mount_removed(self, sender, id_, data):print("-" * 10, "MountRemoved", "-" * 10)print(sender)print(id_)print(data)if __name__ == '__main__':app = QApplication(sys.argv)win = Window()win.show()app.exec_()

版权声明:本文为「txfly」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://www.jianshu.com/p/cee5f693c41c

Python:dbus监控U盘插拔相关推荐

  1. android u盘挂载监听,Android SD卡及U盘插拔状态监听及内容读取

    本篇是通过系统方法来对sd卡及U盘插拔监听及数据获取,Android盒子端开发,有系统权限,当然,这个比较简单,知道具体方法,可以通过反射来实现. 先贴上效果图: 获取外置存储设备并监听插拔状态 获取 ...

  2. Android SD卡及U盘插拔状态监听和内容读取

    本篇是通过系统方法来对sd卡及U盘插拔监听及数据获取,Android盒子端开发,有系统权限,当然,这个比较简单,知道具体方法,可以通过反射来实现. 先贴上效果图: 获取外置存储设备并监听插拔状态 获取 ...

  3. VB中简便的检测U盘插拔的方法(DriveListBox)

    我在网上找了很多资料,实现检测U盘插拔的方法基本上都是监测WM_DEVICECHANGE.这种方法不但臃肿,而且效率不高,很容易出错.于是我摸索出了一种新的方法,以下就是实现过程. 首先在窗体中添加一 ...

  4. java 监控usb端口插拔_监控USB设备插拔

    最近做了UKey加密中设计到USB设备. 因UKEy是用来加密和执行PC与项目间通信加密的介质.从作用范围来讲不是传统意义上U盘作为存储介质来使用.其实熟悉网银驱动DR应该了解.在网银系统安全上一个最 ...

  5. 删除u盘插拔记录linux,电脑u盘插拔记录_电脑u盘插拔时间记录

    2016-06-07 18:50:08 按照如下步骤进行处理,尝试解决问题. 1.USB接口损坏.接触不良也会出现此情况,换一个USB接口,台式机插入主机后接口试试. 2.插入电脑,右下角有图标,不显 ...

  6. linux U盘插拔检测

    因为最终要在tiny210上实现此功能,最终选择了hotplug. http://hi.baidu.com/hdy5200075/item/7751f48647f3d12a100ef3f6这里是hot ...

  7. 删除u盘插拔记录linux,如何删除电脑里中的u盘使用记录

    五.打开注册表(在"开始"→"运行"输入框中输入"regedit"可直接打开注册表),注册表打开后依次在"编辑→查找", ...

  8. MFC使用Windows API实现U盘插拔检测,获取U盘容量,U盘内容移动删除,开启和关闭U盘以及获取盘符

    文章目录 前言 一.利用OS API实现对U盘的管理 二.项目到底长啥样 三.实例代码 1.实时判断U盘插入与拔出 2.能够显示U盘的总容量.使用容量和剩余容量 3.能够将某个目录上的文件或整个目录复 ...

  9. android usb软件自动安装监控,Android中监控USB的插拔

    一.需求 在Android应该开发过程中,用到了USB通讯,需要应用监控USB设备的插入和拔出,从而刷新USB设备列表. 二.实现 在使用时,需要register和unregister. public ...

最新文章

  1. Bzoj 3122 随机数生成器
  2. Jar mismatch! Fix your dependencies
  3. 【JavaWeb】前端框架之Bootstrap
  4. 最优化学习笔记(十三)——基本共轭方向算法(扩张子空间定理)
  5. 分布式链路追踪技术对比
  6. ES6新特性_Promise实践练习-多个文件内容读取---JavaScript_ECMAScript_ES6-ES11新特性工作笔记028
  7. Markdown图片并排展示、图注对齐
  8. 计算机管理教学 (cmi) 包括( )等功能,计算机管理教学(CMI)的未来
  9. c语言指针 r,C语言指针的高级操作
  10. 你确定你真的懂Nginx与PHP的交互?
  11. TPM管理解决制造型企业成本大问题的常用手段
  12. HTML将广告关闭的JS代码,JS实现可点击展开与关闭的左侧广告代码,js代码
  13. html5网页中的表格教程,javascript程序设计_达内javascript教程-达内web前端培训
  14. unity微信分享及回调
  15. 计算机考研复试之英语口语面试
  16. git连接远程仓库以及常用命令
  17. Mac数据恢复首选easyrecovery
  18. Unity3D开发之3D按钮的声音播放
  19. 按键精灵 网页操作插件
  20. 用二维码制作软件批量生成数据不定固定尺寸的二维码

热门文章

  1. 使用Rational Rose2007,画图书馆管理系统静态图
  2. 斗破苍穹模拟器显示服务器人满,斗破苍穹手游服务器爆满怎么进 挤进爆满区...
  3. winmail 数据库设置_企业邮箱winmail设置方法
  4. PowerShell 读取性能计数器二进制文件(.blg)记录并汇总计算
  5. 电脑最容易出现的各种故障问题,应该这样应对问题
  6. 【Axure交互教程】图表载入效果(柱状图/折线图/饼图)
  7. HttpMessageConverter
  8. Elastic添加APM监控
  9. MySql错误处理- 错误代码和消息
  10. GDAL+OGR学习