参考:
 C++ GUI Programming with Qt 4, Second Edition
本地环境:
 win10专业版,64位,Qt5.12
效果
在某个item上右键,点击copy后,item的内容已复制到剪贴板。
 
实现
#include <QMenu>
#include <QClipboard>
QListWidget* myListWidget = new QListWidget;
// 填充数据
for(int i = 0; i < 5; i++) {
    myListWidget->addItem(new QListWidgetItem(QString::number(i)));
}
// 默认是strongfocus,聚焦状态下该元素看起来是空白的
myListWidget->setFocusPolicy(Qt::FocusPolicy::NoFocus);
// 设置右键菜单
myListWidget->setContextMenuPolicy(Qt::CustomContextMenu);
QObject::connect(myListWidget, &QListWidget::customContextMenuRequested, [&]() {
    QMenu menu;
    // 复制动作
    QAction* copyAction = menu.addAction("Copy");
    // 处理
    QObject::connect(copyAction, &QAction::triggered, [&]() {
        QClipboard *clipboard = QApplication::clipboard();
        clipboard->setText(myListWidget->currentItem()->text());
    });
    // 可以添加其他菜单
    menu.exec(QCursor::pos());
});
// 设置分隔线
myListWidget->setStyleSheet("QListWidget::item { border-bottom: 1px solid black; }");
myListWidget->setWordWrap(true);
myListWidget->show();
                

















![[linux网络编程]UDP协议和TCP协议的使用](https://img-blog.csdnimg.cn/direct/3570e8b110374bacbde0e04828dd6848.png)
