利用 PyQt5 中的 QtQuick 控件
Posted
技术标签:
【中文标题】利用 PyQt5 中的 QtQuick 控件【英文标题】:Utilizing QtQuick Controls from PyQt5 【发布时间】:2014-05-20 15:22:31 【问题描述】:首先,我尝试使用PySide
中的QtQuick
。目前最新的 PySide 包含 Qt 4.8,它没有积极开发的桌面组件。 (colibri 在那里,但它不适用于桌面,而且有问题)。
PyQt 似乎在这里胜出,因为最新版本(截至今天为 5.2.1)封装了 Qt 5,其中已准备好 QtQuick 控件。
我查看了Lib/site-packages/PyQt5/examples/quick
下的许多示例,它们都有效,但没有一个使用 QtQuick 控件。
我在这里尝试一个非常简单的 qml:
//main.qml
import QtQuick.Controls 1.2
ApplicationWindow
title: "My Application"
Button
text: "Push Me"
anchors.centerIn: parent
还有一个python文件:
from PyQt5.QtWidgets import QApplication
from PyQt5.QtQml import QQmlApplicationEngine
import sys
if __name__ == "__main__":
app = QApplication(sys.argv)
engine = QQmlApplicationEngine("main.qml")
engine.quit.connect(app.quit)
sys.exit(app.exec_())
但我遇到了这个错误:
.../main.qml:1 module "QtQuick.Controls" version 1.2 is not installed
我可以使用 PyQt5 中的 QtQuick 控件吗?如果是这样,如何?我到处都找不到。
【问题讨论】:
【参考方案1】:您是否尝试使用 QtQuick.Controls 1.0,它在我的系统上运行良好
【讨论】:
是的,我试过但失败了。我该怎么做?。请给一些代码。我尝试了 QtQuick.Controls 1.0 并且脚本运行了,但我什么也没看到。 把这个添加到你的python代码中:code
win = self.engine.rootObjects()[0] win.show()
尝试在您的 QML 中将 visible: true
添加到 ApplicationWindow
。此外,1.2 版至少适用于 PyQt 5.3.1以上是关于利用 PyQt5 中的 QtQuick 控件的主要内容,如果未能解决你的问题,请参考以下文章
PyQt5 QtQuick 错误 - “libQt5Network 未定义符号:_Z24qt_subtract_from_timeoutii”