【问题标题】:Adding pyqtgraph to PyQt6将 pyqtgraph 添加到 PyQt6
【发布时间】:2022-01-29 03:39:46
【问题描述】:

所以我正在使用 Pyqt6 制作一个 GUI,并希望在 Gui 中添加带有其他数据的图形,所以当我尝试添加图形时,我得到以下错误:

call: addWidget(self, QWidget): 参数 1 有意外的类型 'PlotWidget' addWidget(self, QWidget, int, int, alignment: Qt.AlignmentFlag = Qt.Alignment()): 参数 1 有意外的类型'PlotWidget ' addWidget(self, QWidget, int, int, int, int, alignment: Qt.AlignmentFlag = Qt.Alignment()): 参数 1 有意外的类型 'PlotWidget'

我的代码

    self.plt=pyqtgraph.PlotWidget()
    self.plt.plot([1,2,3,4,5],[1,2,3,4,5])
    grid.addWidget(self.plt, 6, 1, 3, 3)
    self.setLayout(grid)  #up I have grid=QGridLayout()

【问题讨论】:

  • 这也有助于查看导入的最小工作示例。还有你使用的是哪个版本的 pyqtgraph。您可以尝试使用python3 -m pip install pyqtgraph --upgrade 将其升级到最新版本
  • @Domarm 我升级了,但没有显示任何不同,仍然出现相同的错误。
  • @Ahmed 请添加一个有效的minimal reproducible example,包括导入。

标签: pyqtgraph pyqt6


【解决方案1】:

我试图重现您的问题有一段时间了。
我把PyQt5和PyQt6一起安装在同一个环境下成功了。

正如@musicamante 所指出的,首先导入 PyQt6 并且仅在该 pyqtgraph 之后导入是很重要的。 否则QT_LIB 设置不正确,只能从环境中已安装的包中猜测 PyQt 版本。

【讨论】:

  • 这可能是由于 pyqtgraph “猜测”后端的方式,这可能受到正确的导入语句的限制(我们向 OP 询问,但从未提供)。您是按什么顺序导入这些库的?
  • 是的,我相信是的。好吧,他不必导入 PyQt5。将它安装在环境中就足够了。因此,在这种情况下,即使是有效的最小示例也无济于事。
  • 拥有两个版本应该永远成为问题,并且导入 PyQt first 应该可以解决问题,因为 pyqtgraph 通常能够正确检测已经导入的Qt 自行绑定。否则,必须将其作为可能的错误报告给项目。
  • 你是绝对正确的。我挖掘了一下,发现 QT_LIB 常量,它检测 PyQt 版本。对于 PyQt5 和 6 的安装,它会产生 PyQt5
  • 而导入 PyQt6 before pyqtgraph 解决了问题?
猜你喜欢
  • 2014-08-19
  • 2020-03-23
  • 2021-07-09
  • 2017-12-24
  • 2020-02-19
  • 2020-07-06
  • 2019-03-13
  • 1970-01-01
  • 2013-11-04
相关资源
最近更新 更多