Qt를 사용하고 있으며 기본적인 문제가 있습니다. 변수 obj
을 가진 내 자신의 위젯 MyTest를 만들었습니다. 이 변수를 위젯 외부의 객체에서 obj
으로 설정하여 변수가 다른 객체에 대한 포인터가 아니라 복사되도록해야합니다. 오류 메시지가 나타나며이 기본적인 작업을 수행하는 방법을 알 수 없습니다.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);
}
클래스가 QObject에서 파생되지 않아도 Q_DISABLE_COPY 매크로를 사용할 수 없다는 점을 분명히하고 싶습니다. QObject와는 아무런 관련이 없기 때문입니다. – rightaway717