Qt 如何把一个控件的属性复制给另外一个控件,或者窗体类怎么直接赋值,例如:
QWidget w1(this);
QWidget w2;
w2 = w1 ; //使得w2与w1的窗体属性为一样,包括大小,位置,样式等等所有属性,而对w2修改属性,不影响w1的属性
//更多控件....
QLabel labe1;
QLabel labe2;
labe2 = labe1;
//.......
Qt 如何把一个控件的属性复制给另外一个控件,或者窗体类怎么直接赋值,例如:
QWidget w1(this);
QWidget w2;
w2 = w1 ; //使得w2与w1的窗体属性为一样,包括大小,位置,样式等等所有属性,而对w2修改属性,不影响w1的属性
//更多控件....
QLabel labe1;
QLabel labe2;
labe2 = labe1;
//.......
查看qt手册,关于QObject的描述,QObject是无复制构造函数或赋值运算符,官方还特别提示不能有复制拷贝函数,因为关系到信号等一些交换。因为Qt控件大多数都是继承QObject,所以也没有无复制构造函数或赋值运算符,也不建议实现一个复制构造函数或赋值运算符。
主要的结果是你应该使用指向QObject(或指向你的QObject子类)的指针,否则你可能会被诱惑使用你的QObject子类作为一个值。例如,如果没有复制构造函数,就不能使用QObject的子类作为存储在容器类中的值。你必须存储指针。