Sto usando Qt e ho alcuni problemi di base reali. Ho creato il mio widget MyTest che ha una variabile obj
. Devo impostare questa variabile obj
da un oggetto esterno al widget in modo che la variabile venga copiata non solo da un puntatore a un altro oggetto. Ricevo un messaggio di errore e non riesco a capire come fare questa roba di base. Questo è il codice che sto utilizzando:Come si copia l'oggetto in Qt?
MyTest.h:
class MyTest : public QWidget
{
Q_OBJECT
public:
void setObj(QObject &inobj);
QObject obj;
....
}
MyTest.cpp:
void MyTest::setObj(QObject &inobj) {
obj = inobj; //HERE I get the error message: "illegal access from 'QObject' to protected/private member 'QObject::operator=(const QObject &)'"
}
main.cpp:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QObject *ob = new QObject();
MyTest w;
w.setObj(*ob);
}
Mi piacerebbe chiarire che nulla ti impedisce di usare la macro Q_DISABLE_COPY anche se la tua classe non deriva da QObject, in quanto non ha nulla a che fare con QObject. – rightaway717