zoukankan      html  css  js  c++  java
  • pyqt5 'QWidget' object has no attribute 'setCentralWidget'

    在我刚使用PyQt5的时候,我运行的时候出现以下报错:

    pyqt5 'QWidget' object has no attribute 'setCentralWidget'

    这种错误我用了一种方法来解决:

    在运行的主函数里面,原本是这样的

    if __name__ == '__main__':
        app = QtWidgets.QApplication(sys.argv)
        widgets = QtWidgets.QWidget()
        ui = MainWin()
        ui.main_ui.setupUi(widgets)
        widgets.show()
        ui.run_function()
        sys.exit(app.exec_())
    

    然后修改成这样:

    if __name__ == '__main__':
        app = QtWidgets.QApplication(sys.argv)
        widgets = QtWidgets.QMainWindow()
        ui = MainWin()
        ui.main_ui.setupUi(widgets)
        widgets.show()
        ui.run_function()
        sys.exit(app.exec_())
    

    除了这种方法,Stack Overflow上还有几种不知道可不可行:
    1:

    class MainWindow(QtWidgets.QMainWindow):
        def __init__(self, parent=None):
            super(MainWindow, self).__init__(parent=parent)
            ui = Ui_MainWindow()
            ui.setupUi(self)
     
     
    import sys
     
    if __name__ == "__main__":
        app = QtWidgets.QApplication(sys.argv)
        w = MainWindow()
        w.show()
        sys.exit(app.exec_())
    
    class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
        def __init__(self, parent=None):
            super(MainWindow, self).__init__(parent=parent)
            self.setupUi(self)
     
     
     
    import sys
     
    if __name__ == "__main__":
        app = QtWidgets.QApplication(sys.argv)
        w = MainWindow()
        w.show()
        sys.exit(app.exec_())
    
  • 相关阅读:
    vue实现短信验证码登录
    使用vue3.0和element实现后台管理模板
    vue导出excel数据表格功能
    Vue2.0-token权限处理
    vue2.0实现购物车功能
    Vue图片懒加载之lazyload插件使用
    H5 canvas 绘图
    前端常见跨域请求 方法
    Html5 @media + css3 媒体查询
    Java面试之RabbitMQ
  • 原文地址:https://www.cnblogs.com/sggggr/p/15511814.html
Copyright © 2011-2022 走看看