跳转到主要内容

Python的Qt绘图小部件

项目描述

PythonQwt:Python的Qt绘图小部件

license pypi version PyPI status PyPI pyversions download count Documentation Status

ℹ️ 由Pierre Raybaut于2014年创建,由PlotPyStack组织维护。

PythonQwt Test Launcher

启动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_()

Simple plot example

示例(测试)

基于GUI的测试启动器可以从Python执行

from qwt import tests
tests.run()

或从命令行执行

PythonQwt

测试也可以在不打扰模式下执行

PythonQwt-tests --mode unattended

概述

qwt包是Qwt C++库的纯Python实现,具有以下限制。

以下 Qwt 类不会在 qwt 中重新实现,因为 guiqwt 中已经有了更强大的功能: QwtPlotZoomerQwtCounterQwtEventPatternQwtPickerQwtPlotPicker

目前仅在 qwt 中实现了以下绘图项(guiqwt 需要的唯一绘图项):QwtPlotItem(基类)、QwtPlotItemQwtPlotMarkerQwtPlotSeriesItemQwtPlotCurve

有关与 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 (1.2 MB 查看哈希值)

上传时间: 源代码

构建分布

PythonQwt-0.12.7-py3-none-any.whl (1.0 MB 查看哈希值)

上传时间 Python 3

支持