跳转到主要内容

ScientificSpinbox - 一个用于操作物理量的Qt小部件

项目描述

https://gitlab.com/dpizetta/pqwidget/-/raw/develop/docs/images/scientific-spinbox-cover-resized.png

scientific-spinbox

ScientificSpinbox 是一个基于 QDoubleSpinBox 的 Qt 小部件,允许用户以自然的方式插入和操作物理量。

Documentation Status

入门

此小部件使STEM(科学、技术、工程和数学)领域的用户能够以自然的方式与带有单位和它们之间转换的数值输入进行交互,同时允许使用科学记数法并添加提高用户体验的资源。

处理单位和它们转换的后端可以单独设置/集成,但目前正在使用包 Pint

此包还使用 QtPy,PyQt/PySide 的抽象层,使得在那些绑定及其版本之间进行交换变得简单。

其主要应用是与 PyMR 框架集成,以在设置磁共振实验的物理值时提供更好的用户界面,其中需要使用例如频率、角度、电压和电流。

尽管有特定的用途,我们仍然将其作为一个独立包提供,以便更多人从中受益。最终目的是在将来如果感兴趣的话,将这个特殊的 QSpinBox 集成到 Qt/PySide/PyQt 包中。

示例

以下是一个用于插入时间单位的 ScientificSpinBox 小部件的示例。允许的 单位smsus,基本单位是 ms。该小部件允许用户使用科学记数法,通过步进增减来编辑值,并插入所需数量的任意小数位数。

尽管用户可以玩转单位,但 baseValue 将始终是转换为基本单位的输入值。

Testing ScientificSpinBox

带有 base_unit='ms'allowed_units=['s','ms','us'] 的 ScientificSpinBox 示例。

安装、更新和卸载

要安装或更新,请执行以下操作

pip install -U scientific-spinbox

要删除,请执行以下操作

pip uninstall scientific-spinbox

要从本地克隆中以开发模式安装,请执行以下操作

git clone https://gitlab.com/dpizetta/pqwidget.git scientific-spinbox
cd scientific-spinbox && git checkout develop-v1.x
pip install -e .

测试

要为 scientific-spinbox 运行自动化测试,您可以使用 tox 上的 test 环境

tox -e test

默认情况下,test 环境使用 PyQt5

有针对使用 PyQt5PyQt6PySide6 以及 Python 3.10Python 3.11 的小部件进行测试的环境。

tox -e py310-test-pyside6
tox -e py310-test-pyqt5
tox -e py310-test-pyqt6
tox -e py311-test-pyside6
tox -e py311-test-pyqt5
tox -e py311-test-pyqt6

用法

此小部件旨在用于您的 Qt 应用程序中。请阅读文档以查看用法示例以及如何使用它和扩展其功能的相关细节。

兼容性

目前与 PyQt5、PyQt6 和 PySide6 兼容。目前没有计划实现与 PySide2 的兼容层。

支持

没有任何保证或支持。自行承担风险使用。如果您发现任何问题,请报告问题,维护者将尝试或帮助修复。

贡献

欢迎并感谢任何贡献。在贡献之前,请阅读文档中的“贡献”部分。

作者和致谢

这项工作是由巴西圣保罗大学物理学院图像与核磁共振光谱中心(CIERMag)的作者开发的。

维护者

以下是该项目维护者的名单。

贡献者

以下是那些对错误修复、改进和新功能作出贡献的人。

许可证

本项目采用 GNU Lesser General Public License (LGPLv3) 许可。

项目状态

该项目仍处于 测试版 状态。它正在积极开发中,并应很快达到第一个稳定版本。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码发行版

scientific_spinbox-1.0.0.dev6.tar.gz (33.5 kB 查看哈希值)

上传时间 源代码

编译后的发行版

scientific_spinbox-1.0.0.dev6-py3-none-any.whl (39.7 kB 查看哈希值)

上传时间 Python 3

由以下支持

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF赞助商 PingdomPingdom 监控 SentrySentry 错误记录 StatusPageStatusPage 状态页面