AttributeError: ‘MainWindow’ object has no attribute ‘setCentralWidget’

翻译:AttributeError:“ MainWindow”对象没有属性“ setCentralWidget”
实例:

from window import Ui_MainWindow
import sys
from PyQt5 import QtWidgets
class MainWindow(Ui_MainWindow,QtWidgets.QWidget):
    def __init__(self):
        super(MainWindow,self).__init__()
        self.setupUi(self)
if __name__ =='__main__':
    app = QtWidgets.QApplication(sys.argv)
    mywindow = MainWindow()
    mywindow.show()
    sys.exit(app.exec_())

错误信息:

Traceback (most recent call last):
  File "E:/python_code/3/比赛界面.py", line 17, in <module>
    mywindow = MainWindow()
  File "E:/python_code/3/比赛界面.py", line 12, in __init__
    self.setupUi(self)
  File "E:\python_code\3\window.py", line 22, in setupUi
    MainWindow.setCentralWidget(self.centralwidget)
AttributeError: 'MainWindow' object has no attribute 'setCentralWidget'

原因:在PyQt5里创建的是MainWindow,不是Widget,需要注意的是,创建的元素一定要调用正确。
解决办法:
方法一:将QtWidgets.QWidget改成QtWidgets.QMainWindow
修改后程序:

from window import Ui_MainWindow
import sys
from PyQt5 import QtWidgets
class MainWindow(Ui_MainWindow,QtWidgets.QMainWindow):
    def __init__(self):
        super(MainWindow,self).__init__()
        self.setupUi(self)
if __name__ =='__main__':
    app = QtWidgets.QApplication(sys.argv)
    mywindow = MainWindow()
    mywindow.show()
    sys.exit(app.exec_())

方法二:主程序中实例化QtWidgets.QMainWindow()并进行调用

from window import Ui_MainWindow import sys from PyQt5 import QtWidgets class MainWindow(Ui_MainWindow,QtWidgets.QWidget): def __init__(self): super(MainWindow,self).__init__() self.setupUi(self) if __name__ =='__main__': app = QtWidgets.QApplication(sys.argv) ex_mywindow = Ui_MainWindow() mywindow = QtWidgets.QMainWindow() ex_mywindow.setupUi(mywindow) mywindow.show() sys.exit(app.exec_())
from window import Ui_MainWindow
import sys
from PyQt5 import QtWidgets
class MainWindow(QtWidgets.QMainWindow):
    def __init__(self):
        super(MainWindow,self).__init__()
        ui = Ui_MainWindow()
        ui.setupUi(self)
if __name__ =='__main__':
    app = QtWidgets.QApplication(sys.argv)
    mywindow = MainWindow()
    mywindow.show()
    sys.exit(app.exec_())

参考链接:https://stackoverflow.com/questions/43260595/attributeerror-ui-mainwindow-object-has-no-attribute-setcentralwidget

其他报错解决办法:
python报错–ValueError: invalid literal for int() with base 10: ‘ ‘

python相关报错总结AttributeError: 'MainWindow' object has no attribute 'setCentralWidget'AttributeError: ‘MainWindow’ object has no attribute ‘setCentralWidget’翻译:AttributeError:“ MainWindow”对象没有属性“ setCentralWidget”实例:from window import Ui_MainWindowimport
numpy.array可使用 shape。list不能使用shape。 可以使用np.array(list A)进行转换。 (array转list:array B B.tolist()即可) 补充知识:Pandas使用DataFrame出现错误:AttributeError: ‘list’ object has no attribute ‘astype’ 在使用Pandas的DataFrame时出现了错误:AttributeError: ‘list’ object has no attribute ‘astype’ 代码入下: import pandas as pd pop = {'Neva
Traceback (most recent call last): File “D:/flaskProject/test.py”, line 35, in test pool.apply(self.out, args=(i,)) File “Python37-32\lib\multiprocessing\pool.py”, line 261, in apply return self.apply_async(func, args, kwds).get() File “\lib\multiprocessing\pool.py”, line 657, in get raise se
AttributeError: 'QWidget' object has no attribute 'setCentralWidget'报错解决办法使用pycharm+qt designer+python制作一个简易登陆界面界面图片错误代码 使用pycharm+qt designer+python制作一个简易登陆界面 from PyQt5 import QtCore, QtG...
用QtDesigner设计了一个UI界面,保存在文件Ui_wintest.ui中,界面中使用了MainWindow窗口,窗口名字也叫MainWindow,用PyUIC将其转换成了 Ui_wintest.py文件,在其中UI界面类为Ui_MainWindow。 然后编辑了一个主应用代码文件: from PyQt5.QtWidgets import QMessageBox,QApplication plt.get_current_fig_manager().window.state('zoomed') 编译器Spyder会报错AttributeError: 'MainWindow' object has no attribute 'state'。 检索相关资料发现,在windows平台下会出现属性不存在问题,可将上面代码替换为下面代码: figManager = plt.get_c
import pymysql #创建连接 con = pymysql.connect(host='localhost',user='root',password='123456',port=3306,database='zhy') #创建游标对象 cur = con.curson() #编写查询的sql语句 sql = 'select * from t_student' cur.execute(sql) print(查询成功) students = cur.fetchall() print(students) except Exception as
我们这里先看源代码: import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QMessageBox, QLineEdit from PyQt5.QtGui import QIcon from ui_mainpage import Ui_MainWindow class MainWindow(QWidget, Ui_MainWindow):
1.pythonGUI编程PyQt5,UI文件转换py文件运行教程 https://blog.csdn.net/qq_34182566/article/details/90647550 Pycharm运行程序的时候弹出“Edit configuration”窗口解决方法上面上教程 ui转换py文件后需要在转换了py文件后面加代码: import sys if __name__=="__main__": app=QtWidgets.QApplication(sys.argv) MainWind...
这个错误通常是由于在使用`_translate`函数时没有正确导入Qt的库函数所导致的。请确保在你的代码中正确导入了Qt库并且正确地使用了`_translate`函数。以下是一个正确导入和使用的例子: from PyQt5.QtCore import Qt, QCoreApplication from PyQt5.QtGui import QIcon from PyQt5.QtWidgets import QApplication, QMainWindow, QMenu, QVBoxLayout, QSizePolicy, QMessageBox, QWidget, QPushButton class MainWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("My App") self.setGeometry(100, 100, 800, 600) self.setWindowIcon(QIcon("icon.png")) # create a central widget central_widget = QWidget(self) self.setCentralWidget(central_widget) # create a vertical layout for the central widget layout = QVBoxLayout(central_widget) # create a button and add it to the layout button = QPushButton(self.translate("MainWindow", "Click me!")) layout.addWidget(button) def translate(self, context, text): return QCoreApplication.translate(context, text) 在这个例子中,我们首先导入了Qt相关的库,然后在`MainWindow`类中定义了一个`translate`函数来处理翻译。在`__init__`函数中,我们创建了一个按钮,使用`self.translate`函数将按钮的文本翻译为当前语言。
python报错--AttributeError: ‘MainWindow‘ object has no attribute ‘setCentralWidget‘ 狙神 仇人上亿: 确实是这个原因 Python报错:RuntimeError: matplotlib does not support generators as input 出嚟饮啖茶吔个包: 这种慢慢改错的讲教方式太棒了,谢谢大佬 python报错--AttributeError: ‘MainWindow‘ object has no attribute ‘setCentralWidget‘ qq_42829449: 很有用,感谢 python报错--AttributeError: ‘MainWindow‘ object has no attribute ‘setCentralWidget‘ 幸亏搜到大佬的文档,不然又不知道要被卡多久。。 PyQt5界面刷新以及多线程更新UI数据实例 谢ZF-.-: 你好,首先感谢你的博客给我提供了思路,阅读完你的博客后我存在以下两个问题,首先是最后的代码块中的102行代码`t1 = threading.Thread(target=window.show())`是否是应该去掉show后面的括号,还有就是进行信号与槽函数绑定时的参数传递(也就是代码中 msg)是如何进行的?