應用我書面方式有些類具有可訪問容易的獨特實例。爲此我使用單身。SIGSEGV與QMainWindow的單
對於爲例我的核心定義爲:
class Core : public QObject
{
Q_OBJECT
public:
Core();
~Core();
static Core& getCore()
{
static Core mycore;
return mycore;
}
(...)
};
,它工作得很好。然而,我試圖對我的MainWindow類做同樣的處理,它從QMainWindow中插入。我需要的是,爲了訪問方法,比如幾何()與其他對象
但是核心的偉大工程,主窗口clossing的PROGRAME時使錯誤。主窗口析構函數被調用並顯然執行過一次(使用qDebug()進行調試),但我仍然有一個SIGSEGV信號。發生了什麼?如何解決它?
這裏是主窗口
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
static MainWindow& getUi()
{
static MainWindow myUi;
return myUi;
}
public slots:
void refreshImage();
private:
Ui::MainWindow *ui;
};
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(&appCore(), SIGNAL(refreshed()), this, SLOT(refreshImage()));
}
MainWindow::~MainWindow()
{
delete ui;
}
代碼和主代碼
QApplication app(argc, argv);
try
{
appCore().setDevice(MDMA::Kinect);
appUi().show();
return app.exec();
} catch(MDMA::exn e) {
(...)
}
其中appCore和AppUi裏是核心:: getCore和主窗口::的getUI()
「和它的作品好了」沒有沒有。停止使用單身人士;他們毫無價值。 – 2013-03-03 15:00:24
你怎麼辦呢? – Amxx 2013-03-03 15:24:09