QVector使用-定义QWidget类及其子类的向量(容器)
背景:自己定义了一个QWidget的子类ChildReportView,子类作为主窗体的一个构建,有可能被重复加载,所以需要将多次加载的子类放入一个容器类,使用容器类管理,这里使用的是QVector。向量类的特点是中间插入很慢,后部添加很快,长度可变。
问题:定义QVector<ChildReportView> mChildReportViews,调用QVector类的append方法时,编译错误,提示操作符“+”是QWidget的私有方法。
解决:定义QVector<ChildReportView*> mChildReportViews,
ChildReportView * newView = new ChildReportView(ui->tabWidget);
mChildReportViews.append(newView);
编译通过,在向量类中存放QWidget类的指针是没有问题的。
浙公网安备 33010602011771号