[英]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.