http://doc.qt.nokia.com/4.7-snapshot/qtbinding.html // MyItem.qml
import QtQuick 1.0 Item { width: 100; height: 100 MouseArea { anchors.fill: parent onClicked: { myObject.cppMethod("Hello from QML") myObject.cppSlot(12345) } } }//mainWidget.py
import sip sip.setapi('QString',2) sip.setapi('QVariant', 2) from PyQt4.QtCore import * from PyQt4.QtDeclarative import * from PyQt4.QtGui import * import sys import os class MyObject(QObject): def __init__(self, parent=None): super(MyObject, self).__init__(parent) @pyqtSlot(str) def cppMethod(self, msg): print "call the c++ method with ",msg @pyqtSlot(int) def cppSlot(self, number): print "call the c++ slot with", number if __name__ == '__main__': app = QApplication(sys.argv) view = QDeclarativeView() myclass = MyObject() view.rootContext().setContextProperty("myObject",myclass) view.setSource(QUrl("MyItem.qml")) view.show() sys.exit(app.exec_())
댓글
댓글 쓰기