在不同视图中的QListWidget中上下移动项目

时间:2014-10-16 09:09:40

标签: c++ qt

我正在尝试以编程方式移动listwidget项。如果移动位于当前视图中,我可以成功移动listwidget。如果我尝试在视图中移动列表小部件项目(即使用滚动条),则移动无法按预期工作。即列表小部件项目未反映

代码片段:

void func(int fromPage, int toPage)
{
 QListWidget* expListWidget =i.next();
 QListWidgetItem* widgetItem = expListWidget->takeItem(fromPage);
 expListWidget->insertItem(toPage,widgetItem);
}

1 个答案:

答案 0 :(得分:0)

以下是如何根据项目的位置上下移动项目的示例:

QListWidget* lw1 = new QListWidget;

for (int i = 0; i < 500 ; i++)
{
    QListWidgetItem* item = new QListWidgetItem(QString::number(i));
    lw1->addItem(item);
}

//move from lower part to the top
QListWidgetItem* i = lw1->takeItem(400);
lw1->insertItem(0, i);

//move from the top to the lower part of the list
i = lw1->takeItem(1);
lw1->insertItem(400, i);