Я смотрел на этот пример из PyQt4.PyQt5 Получить выделенный текст из других программ
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()
Однако сигнал и слоты изменены в PyQt5 и СИГНАЛ и SLOT амортизируется. Любое предложение по преобразованию линии СИГНАЛА и SLOT PyQt4.
QObject.connect(QApplication.clipboard(), SIGNAL(
"dataChanged()"), listener, SLOT("changedSlot()"))
в PyQt5
Спасибо, что ответ правильный, можете ли вы объяснить, почему мы должны подключиться через datachanged, а не QObject, как в PyQt4. –
@StormShadow. Я добавил дополнительную информацию к моему ответу. – ekhumoro
Thx для уточнения. –