gpt4 book ai didi

python - QtQuickControls 2.0 与 PyQt5

转载 作者:太空宇宙 更新时间:2023-11-03 16:10:03 25 4
gpt4 key购买 nike

我设置了 virtualenv 并安装了 pyqt5 (PyQt5-5.7-cp35-cp35m-manylinux1_x86_64.whl):

virtualenv -p /usr/bin/python3.5 .
source bin/activate
pip install pyqt5

我创建了一个 basic.qml 文件:

import QtQuick 2.7
import QtQuick.Controls 2.0

Rectangle {
width: 300
height: 100
color: "red"
}

并尝试将其加载到我的 python 代码中:

import sys
from PyQt5.QtCore import QUrl
from PyQt5.QtWidgets import QApplication
from PyQt5.QtQuick import QQuickView

if __name__ == '__main__':
myApp = QApplication(sys.argv)

view = QQuickView()
view.setSource(QUrl('basic.qml'))
view.show()

sys.exit(myApp.exec_())

失败了

file:///[...]/main.qml:2:1: plugin cannot be loaded for module "QtQuick.Controls": Cannot load library /[virtualenv]/lib/python3.5/site-packages/PyQt5/Qt/qml/QtQuick/Controls.2/libqtquickcontrols2plugin.so: (libQt5QuickTemplates2.so.5: Can't open shared object file: File or directory not found) 
import QtQuick.Controls 2.0
^

Process finished with exit code 0

我查过了。它提示的这个文件实际上不存在。但我该如何安装它呢? PyQt5 完全支持 QtQuickControls2 吗?

如果我将 basic.qml 中的导入从 import QtQuick.Controls 2.0 切换为 import QtQuick.Controls 1.2,它就可以工作。但我想使用新的控件。

最佳答案

这看起来像是 PyQt5 中的一个错误。该软件包缺少 libQt5QuickTemplates2.solibQt5QuickControls2.so

希望 PyQt 5.7 包中包含的 Qt 5.7 版本和 qt.io 上提供的官方 Qt 5.7 版本以完全二进制兼容的方式构建,一种可能是从 qt.io 下载并安装 Qt 5.7,并将缺少的库复制到您的 virtualenv 中。例如:

$ cp ~/Qt/5.7/gcc_64/lib/libQt5QuickTemplates2.* path/to/lib/python3.5/site-packages/PyQt5/Qt/lib
$ cp ~/Qt/5.7/gcc_64/lib/libQt5QuickControls2.* path/to/lib/python3.5/site-packages/PyQt5/Qt/lib

关于python - QtQuickControls 2.0 与 PyQt5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39410243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com