show(self): first argument of unbound method must have type 'QWidget'

使用PyQt5开发一个GUI界面用于与用户进行交互,使用GUI界面对图片进行人流量统计,报错为
show(self): first argument of unbound method must have type 'QWidget'

# -*- coding: utf -8 -*-

# Form implementation generated from reading ui file 'PeopleNum.ui'
# Created by: PyQt5 UI code generator 5.13.0
#
# WARNING! All changes made in this file will be lost!

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(665, 601)
        MainWindow.setMinimumSize(QtCore.QSize(665, 601))
        font = QtGui.QFont()
        font.setPointSize(12)
        MainWindow.setFont(font)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.textEdit = QtWidgets.QTextEdit(self.centralwidget)
        self.textEdit.setGeometry(QtCore.QRect(80, 370, 340, 127))
        self.textEdit.setMinimumSize(QtCore.QSize(340, 127))
        self.textEdit.setMaximumSize(QtCore.QSize(16777215, 127))
        self.textEdit.setObjectName("textEdit")
        self.groupBox = QtWidgets.QGroupBox(self.centralwidget)
        self.groupBox.setGeometry(QtCore.QRect(81, 21, 501, 331))
        self.groupBox.setMinimumSize(QtCore.QSize(501, 331))
        self.groupBox.setObjectName("groupBox")
        self.label = QtWidgets.QLabel(self.groupBox)
        self.label.setGeometry(QtCore.QRect(10, 20, 481, 301))
        self.label.setMinimumSize(QtCore.QSize(481, 301))
        self.label.setText(" ")
        self.label.setObjectName("label")
        self.layoutWidget = QtWidgets.QWidget(self.centralwidget)
        self.layoutWidget.setGeometry(QtCore.QRect(0, 0, 2, 2))
        self.layoutWidget.setObjectName("layoutWidget")
        self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.layoutWidget)
        self.verticalLayout_2.setContentsMargins(0, 0, 0, 0,)
        self.verticalLayout_2.setObjectName("verticalLayout_2")
        self.layoutWidget1 = QtWidgets.QWidget(self.centralwidget)
        self.layoutWidget1.setGeometry(QtCore.QRect(460, 370, 122, 129))
        self.layoutWidget1.setObjectName("layoutWidget1")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget1)
        self.verticalLayout.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.bth_file = QtWidgets.QPushButton(self.layoutWidget1)
        self.bth_file.setMinimumSize(QtCore.QSize(120, 60))
        self.bth_file.setMaximumSize(QtCore.QSize(120, 60))
        self.bth_file.setObjectName("bth_file")
        self.verticalLayout.addWidget(self.bth_file)
        self.bth_predict = QtWidgets.QPushButton(self.layoutWidget1)
        self.bth_predict.setMinimumSize(QtCore.QSize(120, 60))
        self.bth_predict.setMaximumSize(QtCore.QSize(120, 60))
        self.bth_predict.setObjectName("bth_predict")
        self.verticalLayout.addWidget(self.bth_predict)
        MainWindow.setCentralWidegt(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 665, 26))
        self.menubar.setObjectName("menuber")
        MainWindow.setMenuBer(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, Mainwindow):
        _translate = QtCore.QCoreApplication.translate
        Mainwindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.groupBox.setTitle(_translate("MainWindow", "图片"))
        self.bth_file.setText(_translate("MainWindow", "上传图片"))
        self.bth_predict.setText(_translate("MainWindow", "检测图片"))


import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QFileDialog
from PyQt5.QtGui import *
from GUIstatistical import Ui_MainWindow
import requests
import base64


class MainWindow(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.setupUi(self)
        self.setWindowTitle('控制台')
        self.bth_file.clicked.connect(self.openFile)
        self.bth_predict.clicked.connect(self.people_num)

    def openFile(self):
        result = QFileDialog.getOpenFileName(self, "选择一个文件", "./", "*.jpg;;*.png;;AllFile(*.*)")
        self.img_path = result[0]
        print(self.img_path)
        self.label.setPixmap(QPixmap(self.img_path))
        self.label.setScaledContents(True)

    def people_num(self):
        API_Key = ''
        Secret_key = ''
        host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + API_Key + '&client_secret=' + Secret_key
        response_1 = requests.get(host)
        if response_1:
            response_1 = dict(response_1.json())

        request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v1/body_num"
        f = open(self.img_path, 'rb')
        img = base64.b64encode(f.read())

        params = {"image": img}
        access_token = response_1['access_token']
        request_url = request_url + "?access_token=" + access_token
        headers = {'content-type': 'application/x-www-form-urlencoded'}
        response = requests.post(request_url, data=params, headers=headers)
        if response:
            print(response.json())
            text = "检测到图片中的人数为:" + str(dict(response.json())['person_num']) + "人"
            self.textEdit.setPlainText(text)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    win = MainWindow
    win.show()
    sys.exit(app.exec_())

应该是没有加括号的原因,你试试,希望有帮助!
修改前:

if __name__ == "__main__":
    app = QApplication(sys.argv)
    win = MainWindow   **# 这没有写括号**
    win.show()
    sys.exit(app.exec_())

修改后:

if __name__ == "__main__":
    app = QApplication(sys.argv)
    win = MainWindow()
    win.show()
    sys.exit(app.exec_())
if __name__ == "__main__":
    app = QApplication(sys.argv)
    win = MainWindow
    win.show(app)    # 把app传进去试试
    sys.exit(app.exec_())