Qt QMap检索上次添加的记录数据
我有以下数据方法:Qt QMap检索上次添加的记录数据,qt,Qt,我有以下数据方法: /** * @brief UeOrdersModel::ueSlotRefreshOrdersData * @return bool (true - success, false - error) */ bool UeOrdersModel::ueSlotRefreshOrdersData() { QString userId=QString(); QString placeId=QString(); QString customerId=QS
/**
* @brief UeOrdersModel::ueSlotRefreshOrdersData
* @return bool (true - success, false - error)
*/
bool UeOrdersModel::ueSlotRefreshOrdersData()
{
QString userId=QString();
QString placeId=QString();
QString customerId=QString();
bool result=false;
if(this->ueLoggedUsersInfo()->ueNumberOfLoggedUsers()>0)
{
QMap<QPair<QString, QString>, QString>::const_iterator iterator=this->ueLoggedUsersInfo()->ueLoggedUsersData()->constBegin();
userId=iterator.key().first();
placeId=iterator.key().second();
customerId=iterator.value();
if(this->ueRefreshOrdersData(userId,
placeId,
customerId))
{
result=true;
} // if
} // if
return result;
} // ueSlotRefreshOrdersData
为什么以及如何摆脱它们?我正在尝试将数据从QMap
提取到三个QString
s中
注:第二个问题可能是离题的,但由于某种程度上与问题有关,我会在这里问:如果我做了
insert()
-将记录插入QMap
,最后添加的记录是在数据结构的顶部或底部?我真蠢:first
和second
是成员变量,而不是方法,因此:
/**
* @brief UeOrdersModel::ueSlotRefreshOrdersData
* @return bool (true - success, false - error)
*/
bool UeOrdersModel::ueSlotRefreshOrdersData()
{
QString userId=QString();
QString placeId=QString();
QString customerId=QString();
bool result=false;
if(this->ueLoggedUsersInfo()->ueNumberOfLoggedUsers()>0)
{
QMap<QPair<QString, QString>, QString>::const_iterator iterator=this->ueLoggedUsersInfo()->ueLoggedUsersData()->constBegin();
userId=iterator.key().first;
placeId=iterator.key().second;
customerId=iterator.value();
if(this->ueRefreshOrdersData(userId,
placeId,
customerId))
{
result=true;
} // if
} // if
return result;
} // ueSlotRefreshOrdersData
/**
*@BRIENT UeOrdersModel::UESLOTREFRESHTORDERSDATA
*@return bool(真-成功,假-错误)
*/
bool UeOrdersModel::ueSlotRefreshOrdersData()
{
QString userId=QString();
QString placeId=QString();
QString customerId=QString();
布尔结果=假;
如果(此->ueLoggedUsersInfo()->ueNumberOfLoggedUsers()>0)
{
QMap::const_iterator iterator=this->ueloggeduserinfo()->ueLoggedUsersData()->constBegin();
userId=iterator.key().first;
placeId=iterator.key().second;
customerId=iterator.value();
如果(此->UEREFRESHORDSDATA(用户ID,
placeId,
客户ID)
{
结果=真;
}//如果
}//如果
返回结果;
}//UESLOTREFRESHTORDERSDATA
上面的代码编译 首先应该是迭代器.key()代码>而不是
迭代器.key().first()代码>。对于iterator.key().second也是如此
@vahancho LOL,它是第一个
和第二个
是成员变量,而不是方法。我真傻!
/**
* @brief UeOrdersModel::ueSlotRefreshOrdersData
* @return bool (true - success, false - error)
*/
bool UeOrdersModel::ueSlotRefreshOrdersData()
{
QString userId=QString();
QString placeId=QString();
QString customerId=QString();
bool result=false;
if(this->ueLoggedUsersInfo()->ueNumberOfLoggedUsers()>0)
{
QMap<QPair<QString, QString>, QString>::const_iterator iterator=this->ueLoggedUsersInfo()->ueLoggedUsersData()->constBegin();
userId=iterator.key().first;
placeId=iterator.key().second;
customerId=iterator.value();
if(this->ueRefreshOrdersData(userId,
placeId,
customerId))
{
result=true;
} // if
} // if
return result;
} // ueSlotRefreshOrdersData