Я хочу заменить все круглые скобки на скобки в моем буфере обмена, поэтому у меня есть следующий код:
import sys
from functools import partial
from PyQt5 import QtWidgets
def fun(clipboard):
text=clipboard.text()
new_tex=text.replace("(","[").replace(")","]")
clipboard.setText(new_tex)
print("content:",text)
print("content:",new_tex)
app = QtWidgets.QApplication(sys.argv)
clipboard = app.clipboard()
clipboard.dataChanged.connect(partial(fun,clipboard))
sys.exit(app.exec_())
Но я замечаю, когда использую clipboard.setText
в функции слота, он вызовет сигнал дважды или больше .... например, я копирую текст bb(1,2,3)
, тогда это мой результат:
content: bb(1,2,3)
content: bb[1,2,3]
content:
content:
И это очистит весь мой буфер обмена, но на самом деле я просто хочу использовать bb[1,2,3]
для замены исходного bb(1,2,3)
в буфере обмена. Как это реализовать?