QWidget:Must construct a QApplication before a QWidget。
异常描述:
用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。的更多相关文章
- QWidget: “Must construct a QApplication before a QWidget”
最近在做一个关于Qt的项目,在debug版本中没有任何问题,所以就想看看在Release版本下的运行情况,结果在开始运行时,出现如下图1-1所示的错误.在网上搜索答案,大多数是关于QWidget: M ...
- QWidget: Must construct a QApplication before a QPaintDevice的问题
卧槽,无意中编译自己基于Qt创建的Debug工程的时候运行时发生了标题中的错误,原来是把Qt Release的库也放到additional dependencies里面了,同时链接了Debug和Rel ...
- 重头开始学Qt——day1
以前学过Qt,但只是为了学分,现在重学. 1. 认识Qt应用程序框架 直接新建一个项目后,自动生成了一下文件,下面一个个理解. (1)main.cpp main.cpp中特别的是QApplicatio ...
- Qt之Qwt学习之安装
QWT+qtcreator 编译.安装使用 目录:一.Qwt简介 二.QWT编译 一.Qwt简介 QWT:Qt Widgets for Technical Applications,是开源的2D绘图库 ...
- 研究QGIS二次开发笔记(一)
为了在QT程序中嵌入一个地图,最终选择了QGIS来干这件事.选型阶段真是呵呵.我折腾的是QGIS2.4.0. 首先,到官方网站下载安装QGIS.如果你跟我一样懒的话,可能希望下载一个已经编译好的win ...
- qwt6在Windows下Qt5的编译,安装,初步使用
今晚把qwt的编译,安装,初级使用放上来,以便需要的人,能更快部署好编程环境,不至于每次都像我这样花很多时间. 注意:Qtcreater使用的是什么编译器编译出来的,就要用那个编译器来编译qwt. 我 ...
- Qt4问题集锦
一.Qt程序发布后加载的jpg.jpeg图片不可见 问题的提出: 最近在客户机器上部署安装QT编写的软件,发现只要是jpg.jpeg格式的图片都无法显示出来.最后发现必须按如下述步骤才能显示jpg.j ...
- PyQt5之布局管理
目录 一 写在开头 1.1 本文内容 二 绝对布局 三 布局类 3.1 水平布局(QHBoxLayout)和垂直布局(QVBoxLayout) 3.2 水平布局和垂直布局实例 3.3 网格布局(QGr ...
- pyqt---------事件与信号处理
pyqt:信号与槽的关系 GUI应用程序是事件驱动的. 事件主要由应用程序的用户生成. 但它们也可以通过其他手段产生,例如:网络连接,窗口管理器或定时器. 当我们调用应用程序的exec_()方法时,应 ...
随机推荐
- 读书笔记5基于matplotlib画图
一.导入需要的模块 import numpy as np import matplotlib.pyplot as plt import seaborn as sns import scipy.stat ...
- PHP函数之类
if(isset($_POST['dosubmit'])) { } 打散 $array_urls = explode("\r\n",$inurl_str); foreach ($a ...
- Java高级面试题积累(二)
简述23种设计 抽象工厂模式(Abstract Factory):提供一个创建一系列相关或相互依赖对象的接口.而无需指定它们详细的类. 适配器模式(Adapter):将一个类的接口转换成客户希望的另外 ...
- cocos2d-x笔记-CCGLProgram
引擎提供了CCGLProgram类来处理着色器相关操作,对当前绘图程序进行了封装,其中使用频率最高的应该是获取着色器程序的接口: const GLuint getProgram(); 该接口返回了当前 ...
- Oracle PLSQL Demo - 08.定义显式游标[Define CURSOR, Open, Fetch, Close CURSOR]
declare v_empno scott.emp.empno%type; v_sal scott.emp.sal%type; cursor cur_emp is select t.empno, t. ...
- GNU风格 ARM汇编语法5
. GNU汇编程序中的常数 <>十进制数以非0数字开头,如:123和9876: <>二进制数以0b开头,其中字母也可以为大写: <>八进制数以0开始,如:,: &l ...
- Python从MongoDB中按天读取数据并格式化日志
#$cat SpeechMongoHandle.py from pymongo import Connection import time import datetime # CTRL_A='\x01 ...
- MySQL 日期计算
MySQL提供了几个函数,可以用来计算日期,常用的例子就是,计算年龄或提取日期部分. 1. 计算年龄: mysql中要想计算一个人的年龄,相当于当前日期的年和出生日期之间的差.如果当前日期的日历年比出 ...
- postgres入门介绍
mysql被oricle公司收购以后,PG就成了比较流行的开源数据库的首选,而且heroku上面不支持mysql,但是却大力支持PG,所以说,不得不学学PG,并非迫不得已的样子,至少以后PG会比较流行 ...
- C/C++捕获段错误,打印出错的具体位置(精确到哪一行)_转
转自:C/C++捕获段错误,打印出错的具体位置(精确到哪一行) 修订:2013-02-16 其实还可以使用 glibc 的 backtrace_symbols 函数,把栈帧各返回地址里面的数字地址翻译 ...