【问题标题】:Utilizing QtQuick Controls from PyQt5利用 PyQt5 中的 QtQuick 控件
【发布时间】: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 控件吗?如果是这样,如何?我到处都找不到。

【问题讨论】:

    标签: python pyside pyqt5


    【解决方案1】:

    您是否尝试使用 QtQuick.Controls 1.0,它在我的系统上运行良好

    【讨论】:

    • 是的,我试过但失败了。我该怎么做?。请给一些代码。我尝试了 QtQuick.Controls 1.0 并且脚本运行了,但我什么也没看到。
    • 把这个添加到你的python代码中:codewin = self.engine.rootObjects()[0] win.show()
    • 尝试在您的 QML 中将 visible: true 添加到 ApplicationWindow。此外,1.2 版至少适用于 PyQt 5.3.1
    猜你喜欢
    • 2014-07-06
    • 1970-01-01
    • 2016-03-02
    • 1970-01-01
    • 1970-01-01
    • 2022-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多