C++Qt不用UI的形式实现选中一个QlistWidget中的字符串通过点击Button添加到另一个QlistWidget中
时间: 2024-05-16 17:17:08 浏览: 14
可以通过以下步骤实现:
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 中。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)