本文整理汇总了C++中QMap::detach方法的典型用法代码示例。如果您正苦于以下问题:C++ QMap::detach方法的具体用法?C++ QMap::detach怎么用?C++ QMap::detach使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QMap
的用法示例。
在下文中一共展示了QMap::detach方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: removePage
// remove a viewport
void caDoubleTabWidget::removePage(int index)
{
int pageIndex = 0;
PRINT(printf("we have to remove the page from array for row=%d col=%d\n", row, col));
if((pageIndex =lookupArrayIndex(row, col)) != -1) {
// delete this stackwidget page from the array
deleteArrayIndex(pageIndex);
QWidget *widget = viewPort->widget(index);
PRINT(printf("remove widget at stacked widget index=%d with name=%s\n", index, qasc(widget->objectName())));
viewPort->removeWidget(widget);
setRow(row);
setCol(col);
// now that we deleted a page of the stackwidget we will have to change are lookup array
// after the deleted page, change key to key -1
QMap<int, twoInts> lookupNew;
QMapIterator<int, twoInts> j(lookup);
while (j.hasNext()) {
j.next();
twoInts item;
item.r = j.value().r;
item.c = j.value().c;
if(j.key() > pageIndex) {
lookupNew.insert(j.key()-1, item);
} else {
lookupNew.insert(j.key(), item);
}
}
// and copy it back
lookup = lookupNew;
lookupNew.detach();
} else {
PRINT(printf("page not found, return\n"));
return;
}
}