当App在后台时,无法使用Android上的QClipboard获取剪贴板文本

时间:2018-04-25 00:49:32

标签: android qt pyqt qt5 pyqt5

我在Android上更改剪贴板数据后使用以下代码检索剪贴板文本

from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *


class EngkuDict(QLabel):
    # Permissions QFile::​permissions() const

    def __init__(self, parent=None):
        super().__init__(parent)
        self.showMaximized()

        self.clipboard = QGuiApplication.clipboard()
        self.clipboard.dataChanged.connect(self.clipboardTextChanged)
        # self.clipboard.changed.connect(self.clipboardModeChanged)

    @pyqtSlot()
    def clipboardTextChanged(self):
        selectedText = self.clipboard.text()
        self.setText('clipboardTextChanged: {}'.format(selectedText))

    def clipboardModeChanged(self, mode):

        selectedText = self.clipboard.text()
        self.setText('mode: {}\n{}'.format(mode, selectedText))


if __name__ == "__main__":
    import sys
    app = QApplication(sys.argv)
    # QApplication.setQuitOnLastWindowClosed(False)

    trayIcon = EngkuDict()
    trayIcon.show()
    sys.exit(app.exec_())

当代码在后台运行时,我在另一个应用程序中复制了文本,这个应用程序只是无法获取剪贴板文本,那么如何解决问题呢?

0 个答案:

没有答案