异常描述:

      用PyQt开发的界面程序,再新增加了几个module后,

    在eric6开发环境下启动后什么都没出现,什么错误提示也都没有,

    在控制台下:python   XXXX.py 后显示 QWidget:Must construct a QApplication before a QWidget。

平常的启动代码为:

if __name__ == '__main__':

    import sys
from PyQt5.QtWidgets import QApplication
app = QApplication(sys.argv) xx = XXX_Class()
xx.show() sys.exit(app.exec_())

原因猜测步骤:

①、简单拖拽或随便生成一个简单的可视化界面: XXX_Class,然后执行上述代码,界面正常显示。

②、将上述的红色背景加粗的代码注释掉,然后再执行可视化界面的显示,什么都没有显示而且没有错误提示。

③、继续将上述的红色背景加粗的代码注释点,在控制台下执行该段代码,控制台下输出:

    QWidget:Must construct a QApplication before a QWidget

④、因此搜索QApplication类的作用。

  巴拉巴拉的,功能还真不少,QApplication 对象做了很多的初始化工作,它必须在所有与用户界面相关的其它类被创建之前被创建

⑤、然后回顾新增加的几个module,发现在一个class的公共属性中有对可视化类的实例化代码,将其注释掉后,整体代码能正常启动并能显示界面了。

个人注解:

  在代码的加载阶段不要执行可视化类的初始化操作,因为QApplication尚未起作用。

QWidget:Must construct a QApplication before a QWidget。的更多相关文章

  1. QWidget: “Must construct a QApplication before a QWidget”

    最近在做一个关于Qt的项目,在debug版本中没有任何问题,所以就想看看在Release版本下的运行情况,结果在开始运行时,出现如下图1-1所示的错误.在网上搜索答案,大多数是关于QWidget: M ...

  2. QWidget: Must construct a QApplication before a QPaintDevice的问题

    卧槽,无意中编译自己基于Qt创建的Debug工程的时候运行时发生了标题中的错误,原来是把Qt Release的库也放到additional dependencies里面了,同时链接了Debug和Rel ...

  3. 重头开始学Qt——day1

    以前学过Qt,但只是为了学分,现在重学. 1. 认识Qt应用程序框架 直接新建一个项目后,自动生成了一下文件,下面一个个理解. (1)main.cpp main.cpp中特别的是QApplicatio ...

  4. Qt之Qwt学习之安装

    QWT+qtcreator 编译.安装使用 目录:一.Qwt简介 二.QWT编译 一.Qwt简介 QWT:Qt Widgets for Technical Applications,是开源的2D绘图库 ...

  5. 研究QGIS二次开发笔记(一)

    为了在QT程序中嵌入一个地图,最终选择了QGIS来干这件事.选型阶段真是呵呵.我折腾的是QGIS2.4.0. 首先,到官方网站下载安装QGIS.如果你跟我一样懒的话,可能希望下载一个已经编译好的win ...

  6. qwt6在Windows下Qt5的编译,安装,初步使用

    今晚把qwt的编译,安装,初级使用放上来,以便需要的人,能更快部署好编程环境,不至于每次都像我这样花很多时间. 注意:Qtcreater使用的是什么编译器编译出来的,就要用那个编译器来编译qwt. 我 ...

  7. Qt4问题集锦

    一.Qt程序发布后加载的jpg.jpeg图片不可见 问题的提出: 最近在客户机器上部署安装QT编写的软件,发现只要是jpg.jpeg格式的图片都无法显示出来.最后发现必须按如下述步骤才能显示jpg.j ...

  8. PyQt5之布局管理

    目录 一 写在开头 1.1 本文内容 二 绝对布局 三 布局类 3.1 水平布局(QHBoxLayout)和垂直布局(QVBoxLayout) 3.2 水平布局和垂直布局实例 3.3 网格布局(QGr ...

  9. pyqt---------事件与信号处理

    pyqt:信号与槽的关系 GUI应用程序是事件驱动的. 事件主要由应用程序的用户生成. 但它们也可以通过其他手段产生,例如:网络连接,窗口管理器或定时器. 当我们调用应用程序的exec_()方法时,应 ...

随机推荐

  1. 鼠标移至div内部其他层时,触发mouseout

    话说有一个DIV元素,其内部有一个IMG元素和SPAN元素,不用理会这两个内部元素怎么布局,这不是我要讨论的重点. 为了实现一些特殊的效果,我需要利用TD的onmouseover和onmouseout ...

  2. Android Studio 2.2 Record Espresso Test

    Android Studio 已经更新到了2.2,在 Run 中发现了 Record Espresso Test 功能,很强大,但是不稳定. 尝试了下在 Android 6.0 上的登录页面,可以通过 ...

  3. 服务器上装filezilla server后,本地的ftp客户端连接不上去

    公司一台服务器,上面装了filezilla server后,按平常配置好了,但是在本地用FTP客户端不管怎么连接都连接不上,本地FTP客户端总提示连接失败,远程filezilla server的界面也 ...

  4. [na]win PPTP场景与搭建

    这也是在不成熟时期的一种对windows远程访问的好奇. 现在看来没啥用了. 现在一般都用linux的openvpn+gg方案了 远程访问方案: ,端口映射 ,vpn 实现这种远程访问的协议:pptp ...

  5. Azure Cloud Application Design and Implementation Guidance performance-optimization

    https://github.com/mspnp/azure-guidance https://github.com/mspnp/performance-optimization https://gi ...

  6. SQL SEREVR IO

    Designing High Performance I/O Systems for SQL Server https://sqlbits.com/Downloads/86/Designing%20I ...

  7. Java并发编程之并发代码设计

    引子 之前的文章我们探讨了引发线程安全的原因主要是由于多线程的对共享内存的操作导致的可见性或有序性被破坏,从而导致内存一致性的错误.那么如何设计并发代码解决这个问题呐?我们一般使用这几种方式: 线程封 ...

  8. angular -- $route API翻译

    $route -$routeProvider服务 -依赖ngRoute模块 $route能够在路径发生改变的时候,渲染不同的视图,调用不同的控制器.它监测了$location.url(),然后根据路径 ...

  9. python学习之itsdangerous模块

    类 from itsdangerous import URLSafeTimedSerializer as ustsr class ustsr(secret_key) 参数: secret_key可以是 ...

  10. Yii2.0 权威指南

    Yii 是一个高性能,基于组件的 PHP 框架,用于快速开发 Web 应用程序. 一.安装1.Composer 安装Composer是一个基于项目的依赖管理器,负责将PHP项目所依赖的包或库安装到项目 ...