• pyqt5 'QWidget' object has no attribute 'setCentralWidget'(转)


    pyqt5 'QWidget' object has no attribute 'setCentralWidget'

    版权声明:本博客内容为原创,若要转载,请注明出处!否则禁止转载! https://blog.csdn.net/wardenjohn/article/details/87628891

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

    pyqt5 'QWidget' object has no attribute 'setCentralWidget'

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

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

    1.  
      if __name__ == '__main__':
    2.  
      app = QtWidgets.QApplication(sys.argv)
    3.  
      widgets = QtWidgets.QWidget()
    4.  
      ui = MainWin()
    5.  
      ui.main_ui.setupUi(widgets)
    6.  
      widgets.show()
    7.  
      ui.run_function()
    8.  
      sys.exit(app.exec_())

    然后修改成这样:

    1.  
      if __name__ == '__main__':
    2.  
      app = QtWidgets.QApplication(sys.argv)
    3.  
      widgets = QtWidgets.QMainWindow()
    4.  
      ui = MainWin()
    5.  
      ui.main_ui.setupUi(widgets)
    6.  
      widgets.show()
    7.  
      ui.run_function()
    8.  
      sys.exit(app.exec_())

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

    1:

    1.  
      class MainWindow(QtWidgets.QMainWindow):
    2.  
      def __init__(self, parent=None):
    3.  
      super(MainWindow, self).__init__(parent=parent)
    4.  
      ui = Ui_MainWindow()
    5.  
      ui.setupUi(self)
    6.  
       
    7.  
       
    8.  
      import sys
    9.  
       
    10.  
      if __name__ == "__main__":
    11.  
      app = QtWidgets.QApplication(sys.argv)
    12.  
      w = MainWindow()
    13.  
      w.show()
    14.  
      sys.exit(app.exec_())

    2:

    1.  
      class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
    2.  
      def __init__(self, parent=None):
    3.  
      super(MainWindow, self).__init__(parent=parent)
    4.  
      self.setupUi(self)
    5.  
       
    6.  
       
    7.  
       
    8.  
      import sys
    9.  
       
    10.  
      if __name__ == "__main__":
    11.  
      app = QtWidgets.QApplication(sys.argv)
    12.  
      w = MainWindow()
    13.  
      w.show()
    14.  
  • 相关阅读:
    linux 下 设置 MySQL8 表名大小写不敏感方法,解决设置后无法启动 MySQL 服务的问题
    JavaWeb入门_模仿天猫整站Tmall_JavaEE实践项目
    flowable工作流笔记
    bladex前端反向代理(解决跨域)
    Long类型传值前端精度丢失
    blade普通字典关联
    一些东西
    java面试题经典解读
    html元素定位原理
    行转换为列
  • 原文地址:https://www.cnblogs.com/it-tsz/p/10533162.html
Copyright © 2020-2023  润新知