http://blog.csdn.net/me_badman/article/details/70570191
在上例中绘制出界面元素 这时候需要将数据传递出去
写一个getSetting()方法 获取对应的数据,将数据存入QStringList中
QStringList HiAnimationSettingWgt::getSettings()
{
QStringList strRet;
if (Qt::CheckState::Checked == m_chkDocInfo->checkState()) {
strRet << m_wgtDocName->getContent();//
strRet << m_wgtDocNumber->getContent();
strRet << m_wgtDocWebSite->getContent();
}
if (Qt::CheckState::Checked == m_chkComments->checkState()) {
strRet << m_wgtRemarksEdt->document()->toPlainText();
}
return strRet;
}
QString HiLableLineEdtWgt::getContent()
{
return m_edtContent->text();
}
接受到主界面传过来的窗口信息 获取到窗口的数据 并将其传给主窗口
int uifuncGetAnimationSetting(SceneTree *para, TriTreeViewer *f)
{
void *p = NULL;
para->findByPathName("dialog")->getVal(p);//主窗口传递过来的窗口信息
HiAnimationSettingWgt *yourAnimationDialog = qobject_cast<HiAnimationSettingWgt*>((QDialog*) p) ;
///XXXXXXX@@XXXXXXXX@@XXXXXXX
//字符串以XXXXXXX@@XXXXXXXX@@XXXXXXX形式储存
QString s;
if (NULL != yourAnimationDialog) {
QStringList sl = yourAnimationDialog->getSettings();
for (int i = 0; i < sl.count(); i ++) {
s += (sl.at(i)+"@@");
}
}
para->ensureByPathName("setting")->setVal(s.toLocal8Bit().data());//将数据发送给主窗口
return 0;
}