PyQt5:从小部件内部访问 QClipboard(或应用程序对象)

PyQt5: Access to QClipboard (or app object) from inside a widget

我正在尝试访问 PyQT5 应用程序中的剪贴板(通过 QClipboard),但是是从几层深处的小部件。 app 对象通常通过 app.clipboard() 提供剪贴板,但我无权访问那么深的 app 对象。有没有一种方法可以访问剪贴板或 app 而无需一直向下传递 app

有两种方法可以做到这一点:

from PyQt5.QtWidgets import qApp

或:

from PyQt5.QtWidgets import QApplication

qApp = QApplication.instance()

后者是继承自QtCore.QCoreApplication的静态方法。但话又说回来,clipboard() 也是静态的,所以另一种解决方案是:

clipboard = QApplication.clipboard()