求各位大侠相助!!!
大侠们好!小弟是个初学者,刚学,想弄个对话框里包含一个Label和一个line edit,结果程序调试后却出现了个提醒说:底层由于接收到操作系统的信号而停止。信号名称是SIGSEGV。信号意义是segmentation fault。下面是我的程序:#ifndef TESTDIALOG_H
#define TESTDIALOG_H
#include <QtGui/QDialog>
#include <QLabel>
#include <QLineEdit>
#include <QLayout>
class testdialog : public QDialog
{
Q_OBJECT
public:
testdialog(QWidget *parent = 0);
~testdialog();
public:
QLabel *label;
QLineEdit *lineEdit;
QLayout *layout;
};
#endif // TESTDIALOG_H
//以上是头文件。
#include "testdialog.h"
#include <QObject>
testdialog::testdialog(QWidget *parent)
: QDialog(parent)
{
setWindowTitle("My Dialog");
label->setTextFormat(Qt::PlainText);
label->setText("&What");
label->setBuddy(lineEdit);
layout->addWidget(label);
layout->addWidget(lineEdit);
setLayout(layout);
}
testdialog::~testdialog()
{
}
//以上是实现文件。
#include <QtGui/QApplication>
#include "testdialog.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
testdialog w;
w.show();
return a.exec();
}
//应用程序。
求各位大侠指点!!!万分感谢!!! --------------------编程问答-------------------- 你定义的控件指针都没有new啊,
空指针你去操作当然会报错的
label = new QLabel();
lineEdit = new QLineEdit(); --------------------编程问答-------------------- label = new QLabel(this);
lineEdit = new QLineEdit(this);
补充:移动开发 , Qt