私は、カードとして表示されるウィジェット(labels、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を継承せず、Q_OBJECTマクロを使用せずにコードを "moc"メタオブジェクトコンパイラで実行することなく、Qtのシグナル/スロット機構を使用することはできません。 –