2015-03-14 4 views
0

Я пытаюсь написать свое новое приложение, но оно падает каждый раз, когда я нажимаю кнопку на QDialog.Сбой программы QT после подключения()

Вот мой код:

mainwindow.h

#include <QMainWindow> 
#include "creatlist.h" 

namespace Ui { 
class MainWindow; 

} 

class MainWindow : public QMainWindow 
{ 
    Q_OBJECT 

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

public slots: 
    void tableFull(){ 
     ...some code here... 
    } 

private: 
    Ui::MainWindow *ui; 
}; 

creatlist.h:

#include <QDialog> 
#include "mainwindow.h" 

namespace Ui { 
class creatlist; 
} 

class MainWindow; 

class creatlist : public QDialog 
{ 
    Q_OBJECT 

public: 
    explicit creatlist(QWidget *parent = 0); 
    ~creatlist(); 
    MainWindow* mainwindow; 
signals: 
    void updateList(); 

public slots: 
    void ready(){ 
     ///////////////////////////////////////////////////////////crash 
    connect(this,SIGNAL(updateList()),mainwindow,SLOT(tableFull())); 
    emit updateList(); 

    } 

private: 
    Ui::creatlist *ui; 
}; 

Если я пытаюсь отправить некоторые сигналы мое приложение вылетает с Segmentation Fault.

я сделал:

void creatlist::ready() 
{ 
mainwindow = new MainWindow(this); 
emit mainwindow->linktableFull(); 
} 

но если я пытаюсь сделать QTextBroser.append("hue hue"); в linktableFull(), QTextBrowser всегда пусто.

+0

Очевидно, 'mainwindow' не указывает ни на один экземпляр' MainWindow'. – LogicStuff

+0

Научитесь использовать ваш отладчик, вы сразу нашли бы источник проблемы. – cmannett85

+0

вы могли бы улучшить свой вопрос, разместив информацию о сбоях (запуск вашей программы с терминала или отладчика даст дополнительную информацию) – kamaradclimber

ответ

0

Ваш QTextBrowser всегда пуст, потому что вы создаете новый объект mainwindow в каждой функции ready(). Вы должны создать объект mainwindow один раз и использовать тот же объект mainwindow во всем коде. Вы можете создать новый объект mainwindow в конструкторе creatlist.

Смежные вопросы