2016-08-15 2 views
0

Когда я использую другие программы (например, открывая pdf или слово), я выберу текстовое содержимое (например, слово или абзац) с помощью мыши. Я хочу, чтобы моя программа python получала это текстовое содержимое. Как это сделать с помощью PyQt или другой библиотеки Python?Получите выделенный текстовый контент из других программ

+1

Пожалуйста, прочтите http://stackoverflow.com/help/dont-ask. Удачи – shellter

ответ

1

Это простая задача, вы не указали версию PyQt, поэтому я выложу решение PyQt4, здесь вы идете:

from PyQt4.QtCore import QObject, pyqtSlot, SIGNAL, SLOT 
from PyQt4.QtGui import QApplication, QMessageBox 
import sys 


class MyClipboard(QObject): 

    @pyqtSlot() 
    def changedSlot(self): 
     if(QApplication.clipboard().mimeData().hasText()): 
      QMessageBox.information(None, "Text has been copied somewhere!", 
            QApplication.clipboard().text()) 


def main(): 
    app = QApplication(sys.argv) 
    listener = MyClipboard() 

    app.setQuitOnLastWindowClosed(False) 
    QObject.connect(QApplication.clipboard(), SIGNAL(
     "dataChanged()"), listener, SLOT("changedSlot()")) 

    sys.exit(app.exec_()) 

if __name__ == '__main__': 
    main() 
+0

Thx для вашей помощи, я запустил ваш код на своем компьютере. Я просто хочу выбрать слово, а не выбрать слово и скопировать его (ctrl + v). Итак, я думаю, что использование системного буфера обмена не является хорошим решением. – mahome

Смежные вопросы