簡體   English   中英

connect()之后QT程序崩潰

[英]QT program crashes after connect()

我正在嘗試編寫新的應用程序,但是每次我按下QDialog上的按鈕時,它都會崩潰。

這是我的代碼:

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;
};

如果我嘗試發送一些信號,則我的應用程序會因分段錯誤而崩潰。

我做了:

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

但是如果我嘗試做QTextBroser.append("hue hue"); 在linktableFull()中,QTextBrowser始終為空。

您的QTextBrowser始終為空,因為您在每個ready()函數中都創建了新的mainwindow對象。 您應該創建一次mainwindow對象,並在整個代碼中使用相同的mainwindow對象。 您可以在creatlist構造函數中創建新的mainwindow對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM