代码:
from PyQt5 import QtWidgets
from PyQt5.QtGui import QClipboard, QGuiApplication
text = QClipboard.text(QClipboard.Clipboard)
错误信息:
TypeError: arguments did not match any overloaded call:
QClipboard.text(QClipboard.Mode mode=QClipboard.Clipboard): first argument of unbound method must have type 'QClipboard'
QClipboard.text(str, QClipboard.Mode mode=QClipboard.Clipboard) -> (str, str): first argument of unbound method must have type 'QClipboard'
我想编写一个可以管理我的操作系统剪贴板数据的程序。
我该如何处理错误?
答案 0 :(得分:0)
基于documentation,似乎.text(...)的第一个参数需要是一个unicode对象!如果您只是尝试指定模式,请将(mode = yourmode)关键字添加到方法调用中。
答案 1 :(得分:0)
这是一个基本的python错误,它与PyQt无关。回溯消息说明:
first argument of unbound method must have type 'QClipboard'
这告诉您text()
不是静态或类方法,因此期望QClipboard
的实例为第一个参数(即self
)。因此,您无法通过类对象直接调用QClipboard
的任何方法 - 您必须使用实例。
QClipboard的文档明确了如何使用它:
QGuiApplication.clipboard().text()
请注意,QGuiApplication.clipboard() 是一种静态方法,因此您可以直接在类对象上调用它。