相关疑难解决方法(0)

如何在Qt中复制对象?

我正在使用Qt并且有一些真正的基本问题.我创建了自己的具有变量的小部件MyTest obj.我需要obj从窗口小部件外部的对象设置此变量,以便复制变量而不仅仅是指向另一个对象的指针.我收到一条错误消息,无法弄清楚如何做这个基本的东西.这是我正在使用的代码:

MyTest.h:

class MyTest : public QWidget
{
    Q_OBJECT

    public:
        void setObj(QObject &inobj);

        QObject obj;
    ....
}
Run Code Online (Sandbox Code Playgroud)

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 &)'"
}
Run Code Online (Sandbox Code Playgroud)

main.cpp中:

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QObject *ob = new QObject();

    MyTest w;
    w.setObj(*ob);
}
Run Code Online (Sandbox Code Playgroud)

qt copy qobject

10
推荐指数
2
解决办法
2万
查看次数

标签 统计

copy ×1

qobject ×1

qt ×1