QtQuickControls 2.0使用PyQt5

2024-09-26 22:42:52 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

我创造了一个基本.qml文件:

^{pr2}$

并尝试在我的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吗?在

如果我换上进口基本.qml从import QtQuick.Controls 2.0到{},它可以工作。但我想用新的控件。在


Tags: 文件fromimportviewbinvirtualenvsysqml
1条回答
网友
1楼 · 发布于 2024-09-26 22:42:52

这看起来像PyQt5中的bug。包缺少libQt5QuickTemplates2.solibQt5QuickControls2.so。在

希望pyqt5.7包中包含的qt5.7版本和官方qt5.7版本可以在qt.io以完全二进制兼容的方式构建,一种可能是从qt.io,并将丢失的库复制到您的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

相关问题 更多 >

    热门问题