在mainwindow中定义了一个qvector<自己的结构类型> v,
在弹出的对话框dialog中想获取这个v中的值,请问如何获取?
因为vector里是自己声明的结构体,不知道怎么通过参数传递将v或v的指针传给dialog,求大神解答!谢谢!!
------解决方案--------------------
把头文件包含在cpp中 不要包含在.h文件中 就不会出现相互包含的问题了。
------解决方案--------------------
你直接把你的类型直接定义到 子控件的声明里面去好了。
------解决方案--------------------
mainWindow里声明一个指针:
mainwindow.h
public:
QVector<xxxxxType> *xxxxData(){return &这个vector};
dialog.cpp
#include "mainwindow.h"
void xxxxxx槽()
{
mainwindow *w = (mainwindow*)parentWidget();
QVector<xxxxxType> *xxxxData = w->xxxxData();
xxxxData->就可以使用这个vector了。
}
注意:使用这个dialog的时候要传mainwindow指针进去,Dialog(this); dlg.exe();
------解决方案--------------------
在dialog的构造函数里增加一个vector参数,在构造的时候将mainwindow中的数据传递进去