首页 > 其他分享 >Qt QWidget Must construct a QApplication before a QWidget

Qt QWidget Must construct a QApplication before a QWidget

时间:2024-03-14 14:55:45浏览次数:20  
标签:窗口 Qt QApplication construct QWidget 关闭 before

1,有些QT写的PC程序在运行的时候,会弹出下图所示的错误提示框

 2、原因是因为,在点击程序的关闭的时候,有其它的窗口没有关闭,再次打开造成的,如下图所示,可能的原因是程序启动后,在任务栏在两个图标

 3、如下图所示,用鼠标点击关闭其中一个窗口,另一个窗口并没有关闭

4、当你再次打开同一个程序的时候就会出现

 QWidget Must construct a QApplication before a QWidget

 这种错误的弹框了

 5、解决这个问题,也非常简单,只需要要在窗口关闭的时候,检测并关闭另一个窗口就可以了,可以通过调用其它窗口的close函数关闭就可以了

6、还有一个比较简单的方法就是在关闭窗口的时候,直接调用下面两个函数之一,就可以关闭所有的窗口

 QApplication::quit();

 QApplication::exit();

标签:窗口,Qt,QApplication,construct,QWidget,关闭,before
From: https://www.cnblogs.com/ybqjymy/p/18072855

相关文章

  • Qt QObject::killTimer: timers cannot be stopped from another thread
    QObject::killTimer:timerscannotbestoppedfromanotherthread产生原因1定时器的事件处理所处的线程和调用定时器操作(方法)的线程不是同一个线程。2可以通过qDebug()<<QThread::currentThreadId()打印操作时的线程ID。解决思路把定时器的操作(方法:start(),sto......
  • Qt QWidget: Must construct a QApplication before a QWidget
    在使用UI的qwidget之前都必须先构造一个QApplication实例,这是断言的意思。错误的可能是在哪个类中采彩用了静态的(static)的qwidge域或其子类,因为静态和全局对象进入main函数之前就产生了,所以早于main函数里的qapplication日对象,所以出现了此断言错误。解决方法是避免在......
  • Qt 报错: QWidget: Must construct a QApplication before a QWidget
    最近遇到一个问题,程序编译时出现报错:Mustconstructa QApplication beforeaQWidget。我的main.cpp有这样的代码1intmain(intargc,char*argv[])2{3QApplicationa(argc,argv);4}另外一个SS.h1classSS:publicQWidget2{3Q_OBJECT4public:......
  • Qt QToolBox 的常用方法
    在界面上拉一个ToolBox控件,和三个按钮控件:代码如下:1#include"widget.h"2#include"ui_widget.h"3#include<QGroupBox>4#include<QDebug>5#include<QMessageBox>6#include<QToolButton>7#include<QVBox......
  • Qt QToolBox tab 文字居中
    背景:在利用QToolBox实现一个简单的抽屉控件/导航控件时,发现QToolBox::tab的标题总是居左。尝试使用text-align属性、subcontrol-xxx属性都不起作用。解决办法:利用padding属性进行"硬编码"。代码片段如下:1//当前窗口的宽度,其中2//TOOLBOXWND_WIDTH:......
  • Qt 如何搭建Lua的运行环境
    一、Lua简介Lua是一种强大的、高效的、轻量级的、可嵌入的脚本语言。它支持过程(procedural)编程、面向对象编程、函数式编程以及数据描述。Lua是动态类型的,运行速度快,支持自动内存管理,因此被广泛用于配置、脚本编写等场景。二、Lua的优势Lua脚本可以很容易的被C/C++代......
  • Qt6.0开发 第四章 常用界面组件的使用
    第四章常用界面组件的使用在Qt类库中,所有界面组件类的字节或间接父类都是QWidget.QWidget的父类是QObject与QPaintDevice.所以QWidget是多重继承的类.QObject支持元对象系统,其信号与槽机制为编程中对象间通信提供了极大便利.QPaintDevice是能使用QPainter类在绘图设备上绘......
  • QT TCP通信介绍
    QT是一个跨平台的C++应用程序开发框架,它提供了一套完整的工具和库,用于开发各种类型的应用程序,包括图形用户界面(GUI)应用程序、命令行工具、网络应用程序等。QT提供了丰富的功能和类来简化网络通信的开发,其中包括TCP通信。TCP通信是一种可靠的、面向连接的通信协议,它在网络中......
  • Qt5.12配置OpenCV教程
    在开发图像处理和计算机视觉应用时,QT和OpenCV是两个不可或缺的工具。QT为我们提供了丰富的图形界面设计功能,而OpenCV则提供了强大的图像处理算法。那么,如何将这两者完美结合呢?本文将为你详细解析QT5.12与OpenCV的配置过程,让你轻松上手!一、软件下载1、QT 5.12.9下载地址:......
  • Qt warning: C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为
    Qtwarning:C4819:该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为Unicode格式以防止数据丢失Qt导入其他电脑上开发的项目后,出现这种警告:Qtwarning:C4819:该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为Unicode格式以防止数据丢失......