python qt信号在qml 的使用_Python是否适合QML(Qt-Quick)?

在概念层面上,他们一起走好。我写了一个python / qml / js / opengl程序,结合了一切相当不错。那是与Qt4.7和PySide。

如果您只是使用QML,则可以将您需要暴露的Qt的数量最小化(尽管如此,一如以往,更多知识将使您更加强大)。基本上,一旦你有一个qdeclarativeview,你的Qt工作是完全不同于信号/插槽处理,这是PySide的一个喜悦。我建议您可以快速使用Python和QML,而不用担心Qt方面的问题,必要时可以选择它。

从经验来看,我建议您在自己的头脑中将Python和QML之间的界限清晰化。我限制了QML非常好的gui逻辑,这是非常好的;实际上,QML处理接口如何响应输入,然后将信号发送回主程序。它有点像在gui和程序的其余部分之间创建一个非常基本的,削减的接口,只表示高级逻辑(而不是例如发回一个点击,它会发回一个信号,例如“打开处理“,gui会处理如何呈现这种变化)。在我的情况下,这只是直接插入到我的MVC框架,但你可以做你喜欢的。

所有这一切都有一个大的脂肪警告。 PySide的发展已经停滞不前,目前不支持Qt5和QML的所有改进。已经有了关于如何支持的讨论,但实际的代码不是很多。

我相信PyQt支持Qt5,但双重许可为GPL或商业(PySide是LGPL,因此可以使用封闭的源代码)。我没有PyQt的经验,除了PySide,PySide大概被替换为另一个。

编辑:看来我正在谈论将其用作MVVM。

编辑(任何限制问题):整个Qt通过PySide和PyQt暴露。这意味着您可以像在C中一样在Python中编写扩展名。我写了一个捕获鼠标滚动事件的小部件,以便我可以从Flickable中窃取滚动条。这是在Python中创建的QML元素,尽管我也必须从Python加载它;我无法完成如何创建一个可从QML文档内部加载的扩展名。当然可以编写一个独立于您的主要代码的C扩展,因此您仍然始终拥有该选项。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值