2011-10-20 20 views
3

我想僅使用Python編寫QML擴展。我知道如何在C++中做到這一點,但不是在Python中。這甚至有可能嗎?這裏有一個模糊的想法,我在找什麼。使用PyQt4擴展QML

class NewToQML(QObject): 
    Q_PROPERTY(int root READ num WRITE setNum NOTIFY numChanged REVISION 1) 

而在test.qml:

import MyQmlAdditions 1.0 
NewToQML { 
    num: 7; 
} 

[編輯] 我想用此QML除了完成例如改變光標當鼠標在圖形對象(NewToQML) 。

+0

正如我下面說的,你不能PySide做到這一點,但你可以通過信令蟒蛇,或通過暴露具有改變使用的PyQt光標一個PySlot上下文對象改變光標完成光標的變化。 – Patrick

回答

1

我找到了答案,然後回到on nabble菲爾湯普森5回答了一個很好的解釋/推理由喬萬尼巴霍。

簡短的回答:PyQt的不支持qmlRegisterType爲4.7及更早版本。

然而,PySide確實有這個功能,如圖here

0

如果安裝了例子,演示與PyQt的,在Minehunt演示提供了一個QML例子。如果您沒有安裝它,請下載PyQt4 source並查看examples/demos/declarative/minehunt

+0

這適用於將數據對象暴露給QML,但我不確定可以用這種方式將圖形對象暴露給QML。編輯我的問題以明確這一部分。 – Patrick