C++Qt不用UI的形式实现选中一个QlistWidget中的字符串通过点击Button添加到另一个QlistWidget中
时间: 2024-05-16 17:17:08 浏览: 161
Qt+QListWidget实现列表数据添加删除(源码+详细注释)
可以通过以下步骤实现:
1. 创建两个 QListWidget 对象,分别用来存储待选字符串和已选字符串。
2. 给第一个 QListWidget 添加字符串,可以使用 QListWidget 的 addItem() 方法。
3. 创建一个 QPushButton 对象,用来添加选中的字符串。
4. 连接 QPushButton 的 clicked() 信号和槽函数,用来获取选中的字符串并添加到第二个 QListWidget 中。
下面是一个示例代码:
```cpp
#include <QApplication>
#include <QWidget>
#include <QListWidget>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 创建主窗口
QWidget window;
window.setWindowTitle("Add Strings");
window.resize(400, 300);
// 创建两个 QListWidget 对象
QListWidget list1(&window);
QListWidget list2(&window);
list1.setGeometry(10, 10, 150, 200);
list2.setGeometry(220, 10, 150, 200);
// 给第一个 QListWidget 添加字符串
list1.addItem("String 1");
list1.addItem("String 2");
list1.addItem("String 3");
// 创建一个 QPushButton 对象,用来添加选中的字符串
QPushButton button("Add", &window);
button.setGeometry(170, 100, 40, 30);
// 连接 QPushButton 的 clicked() 信号和槽函数
QObject::connect(&button, &QPushButton::clicked, [&](){
// 获取选中的字符串
QListWidgetItem* item = list1.currentItem();
if (item) {
// 添加到第二个 QListWidget 中
list2.addItem(item->text());
}
});
window.show();
return a.exec();
}
```
运行程序后,可以通过点击第一个 QListWidget 中的字符串来选中,然后点击 Add 按钮将其添加到第二个 QListWidget 中。
阅读全文