【发布时间】:2014-08-25 03:30:06
【问题描述】:
我在 Qt 中创建了一个项目。我在 Qt Creator 中进行了设计。一切正常,但现在,我一直在 mainForm 中的 ui->setupUi(this) 方法上看到 Segmentation fault 错误。我知道这个问题的原因是什么。我尝试在互联网上寻找,但没有发现任何有用的东西。我还评论了我最近的更改 - 没有积极的结果......下面我发布了我的 mainForm 的 .cpp 文件的代码:
#include "apgmain.h"
#include "ui_apgmain.h"
#include "stdlib.h"
#include "QRegExp"
#include "errorvaldialog.h"
APGMain::APGMain(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::APGMain)
{
ui->setupUi(this); //This line causes error!!!
}
APGMain::~APGMain()
{
delete ui;
}
void APGMain::on_pushButton_clicked()
{
//Exit-button
std::exit(0);
}
void APGMain::on_pushButton_2_clicked()
{
//Generate-button
bool temp = true;
QString tempStr = ui->lineEdit->text();
int minlength = tempStr.toInt(&temp);
if(temp&&minlength>0&&minlength<129)
{
}
else
{
ErrorValDialog* errorval = new ErrorValDialog(this);
errorval->show();
return;
}
}
void APGMain::on_comboBox_currentIndexChanged(const QString &arg1)
{
if(arg1 == "random password generation")
{
}
else
{
}
}
apgmain.h:
#ifndef APGMAIN_H
#define APGMAIN_H
#include <QMainWindow>
namespace Ui {
class APGMain;
}
class APGMain : public QMainWindow
{
Q_OBJECT
public:
explicit APGMain(QWidget *parent = 0);
~APGMain();
private slots:
void on_pushButton_clicked();
void on_pushButton_2_clicked();
void on_comboBox_currentIndexChanged(const QString &arg1);
private:
Ui::APGMain *ui;
};
#endif // APGMAIN_H
任何提示都会非常有用。简单的调试并没有给我任何东西。
【问题讨论】:
-
我在
on_pushButton_2_clicked()中看到内存泄漏,但您显示的任何代码都不会导致您的段错误。你从调试这个段错误中学到了什么? -
你能告诉我们setupUi的实现吗?
-
@thurizas 我没有实现这个功能。它是自动生成的
-
你知道这种情况的原因吗?
-
@Ty221,我知道setupUi是uic自动生成的,就是想看看有没有问题。另外,您说一切正常,现在您遇到了这个问题。你还记得在“一切正常”和现在之间你做了什么吗?
标签: c++ qt debugging segmentation-fault qt-creator