Суть проблемы. Есть класс Widget.
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
AboutWidget *aboutPWidget;
private:
Ui::Widget *ui;
При нажатии на кнопку его, должен создаваться aboutPWidget. сам объект создается нормально вроде, а вот вызов метода show вызывает ошибку сегментации памяти. класс AboutWidget унаследован от QWidget
AboutWidget::AboutWidget(QWidget *parent) :
QWidget(parent)
{
statusLabel = new QLabel(tr("This is a test of this widget"));
testButton = new QPushButton("test");
buttonBox = new QDialogButtonBox;
buttonBox->addButton(testButton, QDialogButtonBox::ActionRole);
QHBoxLayout *topLayout = new QHBoxLayout;
topLayout->addWidget(statusLabel);
topLayout->addWidget(buttonBox);
setLayout(topLayout);
}
вот код создания
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
connect(ui->AboutProgrammButton,SIGNAL(clicked()),this,SLOT(About()));
AboutWidget *aboutPWidget=new AboutWidget();
}
вот код где происходит ошибка
void Widget::About(){
aboutPWidget->show();
}
Причем если вызвать метод show в конструкторе Widget, то срабатывает нормально.