Python的Qt绘图小部件
项目描述
PythonQwt:Python的Qt绘图小部件
ℹ️ 由Pierre Raybaut于2014年创建,由PlotPyStack组织维护。
启动PythonQwt项目的初衷是为了解决至少暂时性的问题——即不再维护的PyQwt(Python-Qwt C++绑定库)的过时问题。想法是将原始Qwt C++代码翻译成Python,然后通过编写基于NumPy和其他库的新模块来优化代码的一些部分。
PythonQwt软件包包括一个名为qwt的单个Python包和几个其他文件(示例、文档等)。
有关库的更多信息,请参阅在线文档或PDF,有关更改的最近历史记录,请参阅变更日志。
示例
import qwt
import numpy as np
app = qwt.qt.QtGui.QApplication([])
# Create plot widget
plot = qwt.QwtPlot("Trigonometric functions")
plot.insertLegend(qwt.QwtLegend(), qwt.QwtPlot.BottomLegend)
# Create two curves and attach them to plot
x = np.linspace(-10, 10, 500)
qwt.QwtPlotCurve.make(x, np.cos(x), "Cosinus", plot, linecolor="red", antialiased=True)
qwt.QwtPlotCurve.make(x, np.sin(x), "Sinus", plot, linecolor="blue", antialiased=True)
# Resize and show plot
plot.resize(600, 300)
plot.show()
app.exec_()
示例(测试)
基于GUI的测试启动器可以从Python执行
from qwt import tests
tests.run()
或从命令行执行
PythonQwt
测试也可以在不打扰模式下执行
PythonQwt-tests --mode unattended
概述
qwt包是Qwt C++库的纯Python实现,具有以下限制。
以下 Qwt
类不会在 qwt
中重新实现,因为 guiqwt
中已经有了更强大的功能: QwtPlotZoomer
、QwtCounter
、QwtEventPattern
、QwtPicker
、QwtPlotPicker
。
目前仅在 qwt
中实现了以下绘图项(guiqwt
需要的唯一绘图项):QwtPlotItem
(基类)、QwtPlotItem
、QwtPlotMarker
、QwtPlotSeriesItem
和 QwtPlotCurve
。
有关与 Qwt 相比时的 API 限制的更多详细信息,请参阅“概述”部分文档。
路线图
qwt
软件包的短期路线图如下
- 放弃对 PyQt4 和 PySide2 的支持
- 放弃对 Python < 3.8 的支持
- 将
setup.py
替换为pyproject.toml
,使用setuptools
(例如,参见guidata
) - 添加更多单元测试:最终目标是达到 90% 的代码覆盖率
依赖关系
需求
- Python >= 3.8
- PyQt5、PyQt6 或 PySide6
- QtPy >= 1.3
- NumPy >= 1.5
可选依赖关系
- coverage、pytest(用于单元测试)
- sphinx(用于生成文档)
安装
从源代码包中
python -m build
版权信息
主要代码库
- 版权所有 © 2002 Uwe Rathmann,原始 Qwt C++ 代码
- 版权所有 © 2015 Pierre Raybaut,Qwt C++ 到 Python 的翻译和优化
- 版权所有 © 2015 Pierre Raybaut,PythonQwt 特定和独家 Python 材料
PyQt、PySide 和 Python2/Python3 兼容模块
- 版权所有 © 2009-2013 Pierre Raybaut
- 版权所有 © 2013-2015 The Spyder 开发团队
一些示例
- 版权所有 © 2003-2009 Gerard Vermeulen,原始 PyQwt 代码
- 版权所有 © 2015 Pierre Raybaut,PyQt5/PySide 端口和进一步开发(例如,移植到 PythonQwt API)
许可协议
qwt
Python 软件包部分(>95%)是从 Qwt C++ 库翻译的:相关的代码在 LGPL 许可证的条款下分发。其余代码要么是从头编写的,要么是从 MIT 许可证的第三方软件中强有力地启发的。
有关许可条款的更多详细信息,请参阅包含的LICENSE 文件。
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定选择哪个,请了解有关安装软件包的更多信息。
源代码分布
构建分布
pythonqwt-0.12.7.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f6dcc7d286a1b0e0d41b7a8d91cc800e7cafd45cd07446164879cc6fb060b123 |
|
MD5 | fefa0db5ac4f683bcd45783936b9dfeb |
|
BLAKE2b-256 | 3a10fce67703137fdeea299f678e9fbfd5a46bfce51ff3b4a359e3f24de83883 |
PythonQwt-0.12.7-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e2849d2289a3698eb548b94d477af9b15e62571b58d2649e12ae8d4edf547ebd |
|
MD5 | c79b3960c22047a74ba949bcd1f9da3d |
|
BLAKE2b-256 | bb43c441670238164f94da45589a6cf9ef1a68b58d0d2f9aec21a3b7a434a87a |