用PyQt4扩展QML

3 投票
2 回答
2372 浏览
提问于 2025-04-17 04:40

我想用Python写一个QML扩展。我知道怎么用C++来做,但不知道用Python行不行。这真的可能吗?下面是我想要的一个大概念。

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)上时,改变光标的样式。

2 个回答

0

如果你安装了PyQt的示例和演示程序,Minehunt演示会提供一个QML的例子。如果你还没有安装,可以去下载PyQt4的源代码,然后在examples/demos/declarative/minehunt这个文件夹里找。

1

我之前在nabble上找到过一个答案,是Phil Thompson-5提供的,后面还有Giovanni Bajo的详细解释。

简单来说:PyQt在4.7及之前的版本中不支持qmlRegisterType这个功能。

不过,PySide是有这个功能的,具体可以在这里查看。

撰写回答