如何在2024年正确安装QT库?QT Creator
我还是个新手,以为在QT Creator里写应用程序会像在VSCode里用普通Python那样简单,只需要用pip安装包到虚拟环境里就行。可惜事实并不是这样。
我想用Qt Quick创建一个桌面应用,里面有图表、绘图和动画。我下载了QT的在线安装程序,并选择了以下的安装模板:

然后,在QT维护应用中,我勾选了QTCharts这个选项,位于QT/6.6.2/附加库下,并进行了安装。


我在QT Creator中创建了一个新的项目,里面是一个空的QT Quick窗口。启动后,它能正常工作(为什么不呢?)。然后我在main.qml文件中添加了QTCharts的导入语句:
import QtQuick
import QtQuick.Window
import QtCharts
Window {
width: 640
height: 480
visible: true
title: qsTr("Hello World")
}
但当我通过QT Creator的界面运行它时,它只是记录了:'\venv\Scripts\python.exe exited with code -1'。我对缺乏详细信息感到惊讶,于是通过cmd运行应用,得到了更多信息:
"main.qml:3:1: module "QtCharts" is not installed".
快速搜索后,我发现需要在main.py文件中添加以下内容:
engine.addImportPath("C:\Qt\\6.6.2\mingw_64\qml")
结果又出现了一个错误:
main.qml:3:1: 无法加载库 C:\Qt\6.6.2\mingw_64\qml\QtCharts\qtchartsqml2plugin.dll: 找不到指定的模块。
所以这让我停下来了。我觉得我没有做对,应该有更简单的方法。我还有很多库要安装,还有一些外部库,所以我需要知道一个简单的方法来把它们添加到我的项目中。请问,有人能解释我哪里做错了吗?
Windows 10, Python 3.11
1 个回答
你不能直接在Python中使用C++的二进制文件,除非它们和Python是二进制兼容的。C++库只有在用和Python相同的编译器构建时,才会和Python二进制兼容。根据我所知道的,Qt并没有自带Python,而“Qt for Python”会使用用户机器上找到的任何Python版本,因此没有办法通过维护工具来提供与这个Python兼容的二进制文件。使用Python的工具来提供这些二进制文件是简单且自然的,这也是他们的做法。
当你在Qt Creator中创建一个新的“Qt for Python”项目时,它会在虚拟环境中运行 python.exe -m pip install PySide6
。PySide6
依赖于PySide6-Addons
和PySide6-Essentials
,所以这个命令会安装所有的二进制文件、绑定和插件,包括QtCharts的qml插件 <venv-root>\Lib\site-packages\PySide6\qml\QtCharts\qtchartsqml2plugin.dll
。你可以在qtcreator的General Messages
标签中查看这个命令的日志。
PySide6在这个虚拟环境中是自给自足的,不依赖于外部的任何东西。
要配置与Qt关联的Python,可以在qtcreator中选择 Edit -> Preferences -> Python
。
为了验证qml图表是否真的能工作,你可以运行 polarchart pyside qml示例,你可以从pyside的代码库克隆这个示例 git clone --depth 1 git://code.qt.io/pyside/pyside-setup.git
(pyside-setup\examples\charts\qmlpolarchart)