pyqt5 'QWidget' object has no attribute 'setCentralWidget'

2019年02月18日 16:48:28 wardenjohn 阅读数:78
 
版权声明:本博客内容为原创,若要转载,请注明出处!否则禁止转载! 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.  

pyqt5 'QWidget' object has no attribute 'setCentralWidget'(转)的更多相关文章

  1. PyQt程序执行时报错:AttributeError: 'winTest' object has no attribute 'setCentralWidget'的解决方法

    用QtDesigner设计了一个UI界面,保存在文件Ui_wintest.ui中,界面中使用了MainWindow窗口,窗口名字也叫MainWindow,用PyUIC将其转换成了 Ui_wintest ...

  2. pyqt(二) 创建第一个程序(helloworld)解决object has no attribute 'setCentralWidget'

    1.运行Qt Creator QtCreator主界面分为了6个模式:欢迎模式.编辑模式.设计模式.Debug调试模式.项目模式和帮助模式,分别由左侧的6个图标进行切换,对应的快捷键是Ctrl + 数 ...

  3. PyQt学习随笔:自定义信号连接时报AttributeError: 'PyQt5.QtCore.pyqtSignal' object has no attribute 'connect'

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 如果使用自定义信号,一定要记得信号是类变量,必须在类中定义,不能在实例 ...

  4. PyQt: “AttributeError: 'Form' object has no attribute 'exec_'” when opening second window

    # -*- coding: utf-8 -*- import sys from PyQt5.QtWidgets import QApplication , QMainWindow from PyQt5 ...

  5. PyQt(Python+Qt)学习随笔:自定义信号在emit发射信号时报错:AttributeError: object has no attribute

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 如果使用自定义信号,一定要记得信号是类变量,必须在类中定义,不能在实例 ...

  6. Python脚本报错AttributeError: ‘module’ object has no attribute’xxx’解决方法

    最近在编写Python脚本过程中遇到一个问题比较奇怪:Python脚本完全正常没问题,但执行总报错"AttributeError: 'module' object has no attrib ...

  7. AttributeError: 'list' object has no attribute 'write_pdf'

    我在可视化决策树,运行以下代码时报错:AttributeError: 'list' object has no attribute 'write_pdf' 我使用的是python3.4 from sk ...

  8. AttributeError: '_csv.reader' object has no attribute 'next'

    我在使用pyhon3.4运行以下代码时报错:AttributeError: '_csv.reader' object has no attribute 'next' import csv import ...

  9. attributeError:'module' object has no attribute ** 解决办法

    写了一个小脚本,执行的时候报错: Traceback (most recent call last): File "F:/test/qrcode.py", line 109, in ...

随机推荐

  1. python 入门基础24 元类、单例模式

    内容目录: 一.元类 二.单例模式 一.元类 1 什么是元类: 源自一句话:在python中,一切皆对象,而对象都是由类实例化得到的 class OldboyTeacher: def __init__ ...

  2. 原生JS给元素添加class属性

     有下面这三种简单语句. document.getElementsByTagName('body')[0].className = 'snow-container'; //设置为新的 document ...

  3. Mysql被攻击

    日志: show global variables like '%general%'; set global general_log=on; 默认Path:/var/run/mysqld/mysqld ...

  4. 如果你的ie内核浏览器总是缓冲数据的话

    如果你的ie内核浏览器总是缓冲数据的话 运行cmd,输入netsh winsock reset wincock是支持多种协议的网络编程接口 因为ie内核的浏览器的一些设置和插件可能会被其他软件篡改,所 ...

  5. 【.net】获取网页CDM的下载链接的地址

    using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServi ...

  6. yum install oracle-validated

    背景 当时心血来潮要在linux搞oracle,可一顿折腾,大约两个周时间,主要是各种环境的检测麻烦,在redhat上操作也不如centos有利. 命令 yum install oracle-vali ...

  7. HTTP基础知识3

    HTTP之URL HTTP使用统一资源标识符(Uniform Resource Identifiers, URI)来传输数据和建立连接.URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息 ...

  8. 在 laravel 的 DB::transaction 中,为外部变量赋值

    例如,我想在 laravel 的事务中,对某个外部变量赋值,然后在后续的逻辑中判断该变量的属性 $user = null; // init DB::transaction(function() use ...

  9. SPLAY,LCT学习笔记(二)

    能够看到,上一篇的代码中有一段叫做find我没有提到,感觉起来也没有什么用,那么他的存在意义是什么呢? 接下来我们来填一下这个坑 回到我们的主题:NOI 2005维修数列 我们刚刚讨论了区间翻转的操作 ...

  10. Jmeter录制浏览器并回放

    确认证书 1.查看证书 进入Jmeter安装目录下的bin,找到ApacheJMeterTemporaryRootCA.crt 证书文件(如jmeter在安装目录中未找到,可尝试先执行下面的开始录制步 ...