问题标签 [pyqtgraph]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3956 浏览

python - PyQtGraph 的 GraphicsLayout 中的边距

使用 PyQtGraph 进行简单的图形布局:

哪个输出:

在此处输入图像描述

我怎样才能摆脱绿色外线和窗口边框之间的小边距?

我可以做到这一点并使用l.setContentsMargins(-10., -10., -10., -10.),这很有效:

在此处输入图像描述

但在我看来,这似乎是一个肮脏的把戏,应该有另一个参数来设置该边距。这可能吗?我可以设置另一个边距参数0以获得相同的结果吗?

0 投票
2 回答
9379 浏览

python - 带有链接轴的 PyQtGraph 网格

使用 PyQtGraph 进行简单的图形布局,其中图的 x 轴链接在一起,并且网格也显示在两个图中:

在此处输入图像描述

如果我在第一个图中隐藏 x 轴(取消注释p0.hideAxis('bottom')代码中的行),那么轴将消失,但网格也会消失:

在此处输入图像描述

我怎么能强迫它呆在那里?由于两个 x 轴都链接在一起,我希望这是可能的(上图中的网格可以取自下图的 x 轴)。

0 投票
5 回答
18424 浏览

python - 关闭应用程序时多次出现错误“QObject::startTimer: QTimer can only be used with threads started with QThread”

我知道这已经被问过很多次了。我阅读了所有这些主题,我的情况似乎有所不同。遇到此问题的其他所有人都有一些我认为我已经排除的直接原因,例如:

  • 启动没有事件循环运行的计时器
  • 从创建定时器的线程以外的线程启动/停止定时器
  • 未能设置小部件的父属性,导致破坏顺序出现问题

下面我有一个演示问题的最小代码示例。请注意,我没有启动任何线程或计时器。我还设置了每个小部件的父级。如果我删除图形小部件,问题就会消失,所以有人很想责怪 pyQtGraph,但是,如果我包含绘图小部件但排除所有空白选项卡(即除了 tabCatchaTiger 之外的每个选项卡),问题也会消失,并且似乎证明 pyQtGraph 是正确的。

版本:

  • Windows 7的
  • Python 2.7.8
  • 翼IDE 5.0.9-1
  • PyQt 4.11.1
  • PyQwt 5.2.1
  • PyQtGraph 0.9.8

测试用例:

0 投票
1 回答
769 浏览

python - PyQt connect inside for 循环与单独调用导致不同的行为

我正在构建一个绘图 UI,允许用户从加载的数据集生成多个绘图。作为其中的一部分,用户可以将标记线添加到他们的绘图中,以通过在绘图上移动这些标记线来检查 (x, y) 值。

如果将标记分别添加到每个绘图(即通过 elif 代码块分别将标记添加到 Plot1、Plot2 等),则以下功能可以正常工作。但是,如果选择了“全部添加”选项,则会导致在 add_marker 函数中使用 for 循环代码块,所有标记最终都会成为列表中最后一个 plotItem (plot_objects) 的子项。

如果我在调用 add_marker 函数时在循环迭代时检查标记对象,则对象及其父对象是不同的。但是,如果我在 update_marker_vals 函数中检查父项,则标记 1 和 2 的父项对于列表中的最后一个图以外的所有图都不正确。

不确定这里发生了什么,但我认为这与两个 sigDragged.connect 语句有关,因为在那之前其他一切似乎都很好。

代码:

编辑:

附带说明一下,作为一种解决方案,我可以将此函数分成两个函数 - 一个函数创建两个标记,然后另一个函数从 QComboBox 获取输入并为特定绘图创建一组标记或创建标记所有可用的地块。这可行,并且是我当前的解决方案,但我仍然对上述代码的问题感到好奇。

0 投票
2 回答
7558 浏览

python - PyQt mousePressEvent - 获取被点击的对象?

我正在使用 PyQt 和 PyQtGraph 构建一个相对简单的绘图 UI。作为其中的一部分,我有一个图形视图(pyqtgraph 的 graphicslayoutwidget),其中有用户动态添加的 PlotItems。

我想要实现的是允许用户通过双击它来选择一个 PlotItem。

如果用户在小部件窗口中双击某处,这很简单,但我似乎无法弄清楚如何返回单击的内容。

我的大部分搜索结果都试图为某些按钮重新实现 mousePressEvent。我已经阅读了一些有关事件过滤器的信息,但我不确定这是否是必要的解决方案。

我不确定还有哪些其他信息可能有助于回答这个问题,所以如果不清楚我在问什么,请告诉我,以便我澄清。

编辑:

这个的副本:

pyqtgraph:当我单击 PlotItem 时,我如何知道单击了哪个项目

0 投票
0 回答
354 浏览

pyqt - PyQt 和 PyQtGraph 库。qtgui.QGraphicsObject 与 pyqtgraph.GraphicsObject

我不确定我是否理解这些是如何工作的(我什至不确定我是否应该谈论这些这个)。我正在阅读 pyqtgraph 示例,并找到了对“GraphicsObject”的调用。在 pyqtgraph 的文档中查找它,似乎他们有自己的 QGraphicsObject 类。那是对的吗?

我无法导入正确的GraphicsObject(其中包括 GraphicsItem 等;只是使用该类来更好地解释自己)。我已经重新安装了库,所以它与它无关,所以......我错过了什么?如果这个问题很愚蠢,我提前道歉。

例子:

在 PyCharm 中显示有关 GraphItem 的错误:

在“ init .py”中找不到引用“GraphItem ”

检查检测应该解析但没有解析的名称。由于动态调度和鸭子类型,这在有限但有用的情况下是可能的。顶级和类级别的项目比实例项目更受支持。

*我找到了造成我麻烦的原因。看起来 scipy 没有正确安装,虽然它没有给我一个错误,所以我只需要以不同的方式安装它。

0 投票
1 回答
1681 浏览

python - 将更改的数据从选项卡传递到选项卡

我正在尝试构建一个带有两个选项卡的程序。在 Tab1 中,我从图像中选择点坐标 (x,y) 到 valuesself.a中。除了图像之外,我在 Tab1 中还有其他一些 UI(即表格)。现在,我想将值传递self.a给 Tab2(不继承所有其他内容)。请记住,当单击新点时,self.a 可以不断更新。

0 投票
1 回答
768 浏览

python-2.7 - Pyqtgraph 剪辑线

我正在尝试在 pyqtgraph 中绘制史密斯图。我想知道是否有一种方法可以用半径 = 1 的实圆来剪辑代表假想圆的椭圆项目。这是我到目前为止所做的:我使用了 QGraphicsEllipse 的方法 start angle e span angle,但通过这种方式,也可以绘制圆的垂直线和水平线。matplotlib里面有个方法叫set_clip_path(),不知道pyqtgraph里面有没有这样的东西?

编辑

这是我的最终代码

`

0 投票
1 回答
800 浏览

python - FANN2 for Python -- Matplotlib 浮点格式问题

fann2我今天的问题是关于Python 2 包的奇怪行为,同时使用matplotlibpyqtgraph同时使用。

假设我需要实时绘制我的 FANN 网络 MSE。然后我将使用matplotlib交互性和一些while True循环或Thread更新我的情节。但为简单起见,让我们举一个下面的例子。

以下脚本将创建一个新的神经网络并将其存储到一个文件中:

请注意PLOT当前禁用绘图的标志。

现在让我们看一下输出文件。让我们看看最后一行:

...表示更多省略的字符)

一切都很好,直到我们将PLOTvalue 更改为True... 之后,相应的行将如下所示:

这会导致加载保存的网络时出错。例子:

给出以下错误:FANN Error 4: Error reading "connection_rate" from configuration file "my_network.ann".

有人知道如何解决这个奇怪的问题吗?也许我应该简单地在 matplotlib 的某个地方更改浮点数格式?我已经搜索了他们的文档,但还没有找到如何做到这一点。

我想这个原因在别的地方。这很有趣,但 PyQtGraph 给出了相同的结果。这是一个奖励脚本:

0 投票
1 回答
455 浏览

python-3.x - 子类化 pyqtgraph.ParameterTree 问题

我一直在非常有效地使用 ParameterTree 类,我非常喜欢它!我有很多参数,所以我想子类化 ParameterTree 以清除一些代码。不幸的是,当我这样做时,我得到了一个看起来很奇怪的非功能性 ParameterTree:

在此处输入图像描述

所有编辑字段和组合框都消失了

这就是我将其子类化的方式

然后在主 GUI 中,我像这样实例化它:

我究竟做错了什么?

干杯