我有一個相對簡單的類,其中包含一些帶有少量小部件(標籤,lineEdits,pushButtons)的佈局,並顯示爲一張卡片。這一切工作正常,直到我嘗試添加信號和插槽。下面的頭文件可以很好地用註釋掉的部分進行編譯,如圖所示。Qt編譯錯誤:C2280:試圖引用一個已刪除的函數
#include <QString>
#include <QObject>
#include <QWidget>
class KMLFile //: public QObject
{
//Q_OBJECT
public:
KMLFile();
~KMLFile();
QString m_originalFilename;
QString m_originalPath;
QString m_proposedFilename;
QString m_propsoedPath;
QString m_coords;
QWidget* trackWidget;
void populate(QString originalFilename, QString originalPath, QString proposedFilename, QString coords);
QString getCoords();
int getLength();
//public slots:
//void changeFilename();
};
當這些代碼位左邊在上,我得到以下錯誤:
"C:...\qlist.h:425: error: C2280: 'KMLFile::KMLFile(const KMLFile &)': attempting to reference a deleted function
我使用Qt5.3和Qt Creator。我試圖清理,運行qmake並刪除生成文件夾無濟於事。我很難過!
感謝任何深入瞭解如何解決這個問題,以便我可以進步。
如果不從QObject繼承而不使用Qt的信號/槽機制,也不能使用Q_OBJECT宏並通過「moc」元對象編譯器運行代碼。 –