关于Qt退出码255的一点总结

简介: Qt程序退出码255 先说症状,程序运行正常,但是在关闭程序时,却出现的异常,提示退出码为255。查看了一翻代码,也没有找到有什么问题,百度上也没找到有效的解决方法。后来偶然发现了问题所在,原因是在析构函数中,先删除了父窗体指针,再删除子窗体指针引起的。

Qt程序退出码255

先说症状,程序运行正常,但是在关闭程序时,却出现的异常,提示退出码为255。查看了一翻代码,也没有找到有什么问题,百度上也没找到有效的解决方法。后来偶然发现了问题所在,原因是在析构函数中,先删除了父窗体指针,再删除子窗体指针引起的。这算是一个低级问题了。调整删除指针的顺序后,程序欢快的结束了。

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QPushButton>

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    QPushButton * btn1;
    QPushButton * btn2;
};

#endif // MAINWINDOW_H


//----

#include "mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    btn1 = new QPushButton(this);
    btn2 = new QPushButton(btn1);
}

MainWindow::~MainWindow()
{
    delete btn1;  // 先删除父类
    delete btn2;  // 再删除子类,退出码为255
}

只需要调整一下delete的顺序,
delete btn2;
delete btn1;

OK,程序正常结束,退出码为0

相关文章
|
24天前
Win7下Qt调用打印机打印时提示另存为pdf问题
Win7下Qt调用打印机打印时提示另存为pdf问题
9 2
|
10月前
|
存储
系统码的编译码与汉明码
系统码的编译码与汉明码
75 0
系统码的编译码与汉明码
Qt-修改界面无效的可能情况
Qt修改界面无效的可能情况
319 0
QT 点击关闭按钮时提示是否退出同时按钮显示为中文
QT 点击关闭按钮时提示是否退出同时按钮显示为中文
QT 点击关闭按钮时提示是否退出同时按钮显示为中文
|
JavaScript 前端开发 安全
获取 NodeJS 程序退出码
想要退出正在运行的 NodeJS 程序,我们既可以通过 Ctrl + C 的方式,也可以通过process.exit()来执行退出。
206 0
获取 NodeJS 程序退出码
Appium问题解决方案(1)- 设置unicodeKeyboard: True运行脚本后,手机输入时无法调出软键盘
Appium问题解决方案(1)- 设置unicodeKeyboard: True运行脚本后,手机输入时无法调出软键盘
345 0
Appium问题解决方案(1)- 设置unicodeKeyboard: True运行脚本后,手机输入时无法调出软键盘
|
Java 数据安全/隐私保护
PyQt5 技术篇-调用输入对话框(QInputDialog)获取用户输入内容。
PyQt5 技术篇-调用输入对话框(QInputDialog)获取用户输入内容。
857 0
PyQt5 技术篇-调用输入对话框(QInputDialog)获取用户输入内容。

推荐镜像

更多