Estoy usando Qt y tengo algunos problemas básicos reales. He creado mi propio widget MyTest que tiene una variable obj
. Necesito establecer esta variable obj
desde un objeto fuera del widget para que la variable se copie no solo como un puntero a otro objeto. Recibo un mensaje de error y no puedo entender cómo hacer estas cosas básicas. Este es el código que estoy usando:¿Cómo copio un objeto en 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);
}
Me gustaría aclarar que nada le impide usar la macro Q_DISABLE_COPY incluso si su clase no se deriva de QObject, ya que no tiene nada que ver con QObject. – rightaway717