0
点赞
收藏
分享

微信扫一扫

QT报错:The inferior stopped because it received a signal from the Operating System.

盖码范 2022-02-19 阅读 143

QT运行报错
Signal received

The inferior stopped because it received a signal from the Operating System.

Signal name : SIGSEGV

Signal meaning : Segmentation fault

这个错误说明程序中有野指针

在这里插入图片描述
.h文件中

class QErrorMessage;//错误信息对话框QErrorMessage前置声明
class MyWidget : public QWidget
{
    Q_OBJECT
private:
    Ui::MyWidget *ui;
    QErrorMessage *errordlg;
}

.cpp文件

#include "mywidget.h"
#include "ui_mywidget.h"
#include <QDebug>
#include <QColorDialog>//颜色对话框
#include <QFileDialog> //文件对话框
#include <QFontDialog> //文字对话框
#include <QInputDialog>//输入对话框
#include <QMessageBox> //消息对话框
#include <QProgressDialog>//进度对话框
#include <QErrorMessage> //错误信息对话框

MyWidget::MyWidget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::MyWidget)
{
    ui->setupUi(this);
}

MyWidget::~MyWidget()
{
    delete ui;
}



void MyWidget::on_pushButton_2_clicked()//文件对话框
{
    
	void MyWidget::on_pushButton_7_clicked()//错误信息对话框
	{
	    errordlg->setWindowTitle(tr("错误信息对话框"));
	    errordlg->showMessage(tr("这里是出错信息!"));
	
	}
}

errordlg为野指针,使用new重新分配内存

	    void MyWidget::on_pushButton_7_clicked()//错误信息对话框
	{
		errordlg = new QErrorMessage(this);//新建QErrorMessage对话框
	    errordlg->setWindowTitle(tr("错误信息对话框"));
	    errordlg->showMessage(tr("这里是出错信息!"));
	}
	    
举报

相关推荐

0 条评论