PyQt5 技术篇-在clipboard.dataChanged.connect()里如何写入剪切板示例演示,pyqt5监听剪切板变动并写入剪切板内容(转载)

本文详细介绍了使用PyQt5监听剪切板变动并避免死循环的方法,通过结合pyperclip库实现剪切板内容的智能替换。演示了如何在剪切板内容变化时执行特定操作,并提供了完整的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PyQt5 自带的写入剪切板方法在 clipboard.dataChanged.connect() 里不生效,主要是为了避免死循环。
不过利用其它的写入剪切板方法放在里面就不会有影响了,比如 pyperclip。

import pyperclip

写入剪切板

def setCopy(s):
pyperclip.copy(s)
1
2
3
4
5
下面是 pyqt5 监听剪切板的演示代码。

from PyQt5.QtWidgets import *

app = QApplication([])
clipboard = app.clipboard()

当剪切板变动会执行该方法

def change_deal():
data = clipboard.mimeData()

# 获取剪切板内容
text = data.text()
# 当剪切板内容为"改变"时,我就写入剪切板
if(text == "改变"):
    setCopy("不改变")
else:
    print(text)

监听剪切板变动

clipboard.dataChanged.connect(change_deal)
app.exec_()

效果图如下:
我找到改变两个字复制一下,就会触发两次,一次改变文本,另一次把剪切板内容的改变两个字变成不改变。

原文链接:https://blog.youkuaiyun.com/qq_38161040/article/details/108085967?utm_medium=distribute.pc_feed.none-task-blog-personrec_tag-6.nonecase&depth_1-utm_source=distribute.pc_feed.none-task-blog-personrec_tag-6.nonecase&request_id=5f442727cea070620e93fc23

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值