0
我正在从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折旧。 任何改变PyQt4 SIGNAL和SLOT线的建议。
QObject.connect(QApplication.clipboard(), SIGNAL(
"dataChanged()"), listener, SLOT("changedSlot()"))
到PyQt5
谢谢你的回答是正确的,你能否详细说明为什么我们必须通过datachanged而不是像PyQt4中的QObject连接。 –
@StormShadow。我在我的答案中增加了一些更多信息。 – ekhumoro
Thx为澄清它。 –