C++Qt不用UI的形式实现选中一个QlistWidget中的字符串通过点击Button移动到另一个QlistWidget中
时间: 2024-05-09 16:16:17 浏览: 93
可以通过以下步骤实现:
1. 在 Qt 项目中创建两个 QListWidget,分别命名为 listWidget1 和 listWidget2。
2. 在 listWidget1 中添加一些字符串项,这些项将是我们要移动的项。
3. 在 UI 界面中添加一个 QPushButton,命名为 buttonMove。
4. 在 buttonMove 的 clicked() 信号槽中添加以下代码,将选中的项从 listWidget1 移动到 listWidget2:
```cpp
// 获取选中的项
QList<QListWidgetItem*> selectedItems = listWidget1->selectedItems();
// 将选中的项移动到 listWidget2 中
for (QListWidgetItem* item : selectedItems) {
listWidget1->takeItem(listWidget1->row(item));
listWidget2->addItem(item);
}
```
以上代码首先获取 listWidget1 中选中的项,然后使用 takeItem() 函数将这些项从 listWidget1 中移除。最后,使用 addItem() 函数将这些项添加到 listWidget2 中。
5. 运行程序,可以通过选中 listWidget1 中的项并点击 buttonMove 按钮,将这些项移动到 listWidget2 中。
注意:如果想要实现拖拽移动,可以设置 listWidget1 和 listWidget2 的 dragEnabled 和 dropEnabled 属性为 true,并在两个 QListWidget 上分别实现 dragEnterEvent、dragMoveEvent 和 dropEvent 三个事件处理函数。
阅读全文