setSizePolicy(self, QSizePolicy): argument 1 has unexpected type 'PySide2.QtWidgets.QSizePolicy'

UI код сделан в QT designer 5.14.1. Не понимаю в чём проблема.

from PySide2.QtCore import (QCoreApplication, QMetaObject, QObject, QPoint,
    QRect, QSize, QUrl, Qt)
from PySide2.QtGui import (QBrush, QColor, QConicalGradient, QCursor, QFont,
    QFontDatabase, QIcon, QLinearGradient, QPalette, QPainter, QPixmap,
    QRadialGradient)
from PySide2.QtWidgets import *


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        if MainWindow.objectName():
            MainWindow.setObjectName(u"MainWindow")
        MainWindow.resize(1184, 539)
        sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)
        sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth())
        MainWindow.setSizePolicy(sizePolicy)
        MainWindow.setStyleSheet(u"background-color: rgb(27, 27, 27);")
        MainWindow.setTabShape(QTabWidget.Rounded)
        self.centralwidget = QWidget(MainWindow)
        self.centralwidget.setObjectName(u"centralwidget")
        self.Clear = QPushButton(self.centralwidget)
        self.Clear.setObjectName(u"Clear")
        self.Clear.setGeometry(QRect(10, 190, 131, 61))

При запуске выдаёт ошибку:

  File "D:/Python Projects/Calculator/main.py", line 15, in <module>
    window = MainWindow()
  File "D:/Python Projects/Calculator/main.py", line 11, in __init__
    self.setupUi(self)
  File "D:\Python Projects\Calculator\ui_EngCalc.py", line 28, in setupUi
    MainWindow.setSizePolicy(sizePolicy)
TypeError: arguments did not match any overloaded call:
  setSizePolicy(self, QSizePolicy): argument 1 has unexpected type 'PySide2.QtWidgets.QSizePolicy'
  setSizePolicy(self, QSizePolicy.Policy, QSizePolicy.Policy): argument 1 has unexpected type 'PySide2.QtWidgets.QSizePolicy'

Process finished with exit code 1

Код запускаемого файла.

from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from ui_EngCalc import Ui_MainWindow

class MainWindow(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.ui = Ui_MainWindow()
        self.setupUi(self)

if __name__ == '__main__':
    app = QApplication([])
    window = MainWindow()
    app.exec_()

Ответы (2 шт):

Автор решения: S. Nick

Я думаю что проблема в том, что вы используете и PySide2 и PyQt5.

Пусть модуль, который вы создали в Qt Designer, называется ui_EngCalc.ui

Выполните:

pyuic5 ui_EngCalc.ui -o ui_EngCalc.py -x

и запустите main.py

main.py

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.Qt import *

from ui_EngCalc import Ui_MainWindow

       
class MainWindow(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.ui = Ui_MainWindow()
        self.setupUi(self)


if __name__ == '__main__':
    app = QApplication([])
    window = MainWindow()
    window.show()
    app.exec_()
→ Ссылка
Автор решения: RokeJulianLockhart

setSizePolicy(self, QSizePolicy): argument 1 has unexpected type 'PySide2.QtWidgets.QSizePolicy'

Для меня проблема была в том, что я не приводил достаточно аргументов:

  1. Код
    PyQt6.QtWidgets.QDockWidget().setSizePolicy(
        PyQt6.QtWidgets.QSizePolicy.Policy.Fixed
    )
    
  2. Сообщение об ошибке
    Exception has occurred: TypeError
    arguments did not match any overloaded call:
      setSizePolicy(self, a0: QSizePolicy): argument 1 has unexpected type 'Policy'
      setSizePolicy(self, hor: QSizePolicy.Policy, ver: QSizePolicy.Policy): not enough arguments
    

Следовательно, сработало следующее:

PyQt6.QtWidgets.QDockWidget().setSizePolicy(
    PyQt6.QtWidgets.QSizePolicy.Policy.Fixed,
    PyQt6.QtWidgets.QSizePolicy.Policy.Fixed
)
→ Ссылка