- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 addWidget 函数将FigureCanvasQTAgg 参数作为小部件添加到某些布局中,但发生了 TypeError。仅当尝试运行使用 pyinstaller 构建的独立应用程序时,才会出现此错误。直接运行脚本时一切正常。
我正在使用 python=3.6
、PySide2=5.12.3
、pyInstaller=3.4
from PySide2.QtWidgets import QApplication, QMainWindow, QMessageBox, QLineEdit, QComboBox, QWidget
import matplotlib
matplotlib.use("Qt5Agg")
from PySide2.QtCore import Qt
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.backends.backend_qt5agg import NavigationToolbar2QT as NavigationToolbar
from matplotlib.figure import Figure
class TasksConfigCreatorAdapter(QMainWindow):
def __init__(self):
super(TasksConfigCreatorAdapter, self).__init__()
self.dialog = Ui_TasksConfigCreatorDialog()
self.dialog.setupUi(self)
self.figure = None
self.setupCanvasLayout()
def setupCanvasLayout(self):
if self.figure is None:
self.figure = plt.figure()
self.canvas = FigureCanvas(self.figure)
self.figure.set_facecolor("white")
self.toolbar = NavigationToolbar(self.canvas, None)
self.dialog.canvasLayout.addWidget(self.canvas, *(0, 0))
self.dialog.canvasLayout.addWidget(self.toolbar, *(1, 0))
TypeError: 'PySide2.QtWidgets.QGridLayout.addWidget' called with wrong argument types:
PySide2.QtWidgets.QGridLayout.addWidget(FigureCanvasQTAgg, int, int)
Supported signatures:
PySide2.QtWidgets.QGridLayout.addWidget(PySide2.QtWidgets.QWidget, int, int, PySide2.QtCore.Qt.Alignment=Default(Qt.Alignment))
PySide2.QtWidgets.QGridLayout.addWidget(PySide2.QtWidgets.QWidget, int, int, int, int, PySide2.QtCore.Qt.Alignment=Default(Qt.Alignment))
PySide2.QtWidgets.QGridLayout.addWidget(PySide2.QtWidgets.QWidget)
最佳答案
通过将 PyQt5
模块添加到规范文件中的排除列表中解决了此问题。当尝试在一个文件夹模式下创建独立文件时,我发现添加了 PyQt5
文件以及 PySide2
文件,这些文件会中断并导致此问题发生。
关于python - 使用错误的参数类型调用 PySide2.QtWidgets.QxxxxLayout.addWidget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56304203/
我想对 CodeMirror 进行一些扩展。 addWidget 方法似乎是一个很有前途的起点。该文件指出 addWidget(pos, node, scrollIntoView) Puts node
假设我有这样的东西 void someClass::start() { QLabel* sb = new QLabel(); sb->setText("Hello World");
我在我的代码中使用了 QGridLayout,并且想将我的自定义小部件添加到 gridlayout,它无法与 addWidget(CustomWidget*) 一起使用。 这是在带有 Visual S
在将子 QWidget 添加到父 QWidget 后,我无法立即设置它的尺寸。问题是它根本没有设置几何图形: from PyQt4 import QtCore, QtGui class MyWid
我正在使用 QtRuby 开发一个 GUI 项目。但是,一旦我在我的 MainWindow 对象中添加了使用 GridLayout 的代码,我就开始收到此错误: mainwindow.rb:37:in
我在 QVBoxlayout 的 addWidget(widget,stretch,alignment) 方法中遇到 Alignment-Parameter 问题。 我正在将 QTableview 添
我正在尝试使用 addWidget 函数将FigureCanvasQTAgg 参数作为小部件添加到某些布局中,但发生了 TypeError。仅当尝试运行使用 pyinstaller 构建的独立应用程序
我正在尝试将 QWidget 指针参数 (plot2) 传递给 Qt 的 addWidget(QWidget * T,. ..) 将指向 QWidget 的指针作为其第一个参数的函数。如果我传递原始指
我是一名优秀的程序员,十分优秀!