qt5-入门-QListWidget-通过右键快捷菜单复制item内容

news2024/12/23 11:44:00

参考:
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();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1630426.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【VS+QT】visual studio 2022配置和搭建QT

一、下载QT 可以去QT官网下载:https://www.qt.io/product/development-tools。 直接安装。 二、安装qt插件 打开visual studio 2022&#xff0c;选择菜单栏中扩展->管理扩展 ,然后直接在vs插件市场搜索Qt Visual Studio Tools就行。 安装的时候根据提示&#xff0c;关闭…

智慧旅游引领旅游行业创新发展:借助智能科技的力量,推动旅游服务的个性化、精准化,提升游客的满意度和忠诚度

随着信息技术的迅猛发展和广泛应用&#xff0c;智慧旅游已成为旅游行业创新发展的重要引擎。智慧旅游借助智能科技的力量&#xff0c;推动旅游服务的个性化、精准化&#xff0c;不仅提升了游客的满意度和忠诚度&#xff0c;也为旅游行业的可持续发展注入了新的活力。本文将从智…

念念不忘,必有回响。研究阿里系签名,获益良多——unidbg/idlefish/taobao/damai

本篇文章仅供学习讨论。 文章中涉及到的代码、实例&#xff0c;仅是个人日常学习研究的部分成果。 如有不当&#xff0c;请联系删除。 我博客里面也不止发布了一篇关于阿里系签名的文章了&#xff0c;但成体系、能应用的功能一直没有开发出来。 虽然一大部分原因是因为本人懒&…

Ubuntu终端自动补全

文章目录 前言配置安装zsh安装 oh-my-zsh安装自动补全插件zsh-autosuggestions 参考 前言 Oh My Zsh 是一个针对命令行 shell 的开源框架&#xff0c;主要用于增强和美化命令行环境。它建立在 Zsh&#xff08;一种强大的 shell 替代品&#xff09;之上&#xff0c;提供了丰富的…

MySQL:关于group by的一个小坑,以及sql_mode=only_full_group_by问题

先来说一下&#xff1a;sql_modeonly_full_group_by这个报错 我们公司的一个项目在我部署的时候&#xff0c;出现了这样一个问题&#xff0c;就是上面这个报错&#xff0c;他的原因也非常简单&#xff0c;我们在开发的时候mysql是5.5版本&#xff0c;线上是5.7版本&#xff0c;…

又一款接私活神器!基于 SpringBoot + Bootstrap 的极速后台开发框架,牛到不行!【免费领】

推荐一个后台管理系统。功能完整&#xff0c;代码结构清晰。值得推荐。 项目介绍 本项目系统是一款基于 SpringBoot Bootstrap 的极速后台开发框架&#xff0c;可以用于所有的 Web 应用程序&#xff0c;易读易懂。RuoYi 支持集群&#xff0c;支持多数据源&#xff0c;支持分…

电脑开机后卡在开机LOGO画面如何排查处理

当电脑开机后长时间停滞在开机LOGO画面,无法继续进入操作系统,这一现象常令用户困扰不已。本文将深入探讨导致此类问题的多种可能原因,并提供相应的解决方法,帮助你有效地诊断和排除故障。 硬件故障或接触不良 1. 硬盘问题:硬盘是系统启动的关键组件,其故障或数据线接触…

免费调用阿里云通义千问(qwen-1.8b-chat)大模型API

目录 前言通义千问开通注意 APi接口最后 前言 免费的GPT接口国内的使用一段实践就会失效&#xff0c;阿里云的qwen-1.8b-chat限时免费&#xff0c;可对接&#xff01;目前本账号小助手也是对接了该模型 通义千问 通义千问&#xff0c;是基于阿里巴巴达摩院在自然语言处理领域…

Mac安装telnet

一、安装Homebrew 1、打开官网&#xff1a;Homebrew — The Missing Package Manager for macOS (or Linux) 2、打开终端输入&#xff1a; /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 二、安装Telnet bre…

日本宇宙航空研究“Int-Ball2”自由飞行相机机器人采用的Epson IMU

IMU有助于飞行的稳定控制和电池充电的自动对接- 精工爱普生公司&#xff08;TSE:6724&#xff0c;“Epson”&#xff09;很高兴地宣布&#xff0c;日本宇宙航空研究开发机构&#xff08;JAXA&#xff09;选择了爱普生M-G370系列的惯性测量单元&#xff08;IMU&#xff09;&…

【单链表专题】

单链表专题 1.引入2.链表2.1链表的关系2.2链表的结构 3.代码实现链表 1.引入 对于顺序表而言 中间/头部的插⼊删除&#xff0c;时间复杂度为O(N)增容需要申请新空间&#xff0c;拷⻉数据&#xff0c;释放旧空间。会有不小的消耗。增容⼀般是呈2倍的增⻓&#xff0c;势必会有⼀…

学习100个Unity Shader (15) ---透明+双面渲染

文章目录 效果shader理解参考 效果 shader Shader "Example/AlphaBlendBothSided" {Properties{_Color ("Main Tint", Color) (1, 1, 1, 1)_MainTex ("Texture", 2D) "white" {}_AlphaScale ("Alpha Scale", Range(0, 1)…

XYCTF-部分web总结

这个月在XYCTF中写了部分web题&#xff0c;题中学到在此记录一下 ezhttp 打开就是一个简单的登录页面 f12说藏在一个地方&#xff0c;先想到的就是robots.txt 访问直接给账号密码 username: XYCTF password: JOILha!wuigqi123$登录后: 明显考源跳转&#xff0c;修改referer值…

window 安装大模型 chatglm.cpp

你好&#xff0c;我是 shengjk1&#xff0c;多年大厂经验&#xff0c;努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注&#xff01;你会有如下收益&#xff1a; 了解大厂经验拥有和大厂相匹配的技术等 希望看什么&#xff0c;评论或者私信告诉我&#xff01; 文章目录 一…

【MyBatis】使用MyBatis框架在两张表是一对多的情况下,进行分步查询,发现对查询出来的结果进行封装时没有将实体类的id进行赋值

Catalog MyBatis在两张表是一对多的情况下,进行分步查询&#xff0c;发现对查询出来的结果进行封装时没有将实体类的id进行赋值1. 表结构2. 场景3. 实现方式具体步骤 4 .测试5. 解决方法 MyBatis在两张表是一对多的情况下,进行分步查询&#xff0c;发现对查询出来的结果进行封装…

【顺序表小题】

顺序表小题 移除元素思路一思路二 合并两个有序数组思路一思路二 移除元素 链接: 题目链接 思路一 创建新的数组&#xff0c;遍历原数组&#xff0c;将不为val的值放到新数组中 思路二 双指针法。 创建两个变量src,dst。 1)若src指向的值为val&#xff0c;则src 2)若sr…

堆的介绍,实现(c语言实现)

目录 堆的概念 堆的性质&#xff1a; 堆的分类 父子结点的下标关系 堆的向下调整算法 ​编辑小堆 大堆 建堆 堆的向上调整算法 小堆 大堆 堆的基本操作 定义堆 初始化堆 销毁堆 打印堆 堆的插入 堆的删除 大堆&#xff08;Max Heap&#xff09;的向下调整算法…

51单片机入门(一)

1. 51单片机的基础介绍 2. RAM和ROM的区别 总体而言&#xff0c;RAM和ROM在计算机系统中起着不同的角色&#xff0c;RAM用于临时存储运行时数据&#xff0c;而ROM用于存储永久性的固件和系统程序。 3. 为什么叫51单片机 因为51系列单片机都是使用Intel 8031指令系统的单片机…

[linux网络编程]UDP协议和TCP协议的使用

目录 看以下内容前&#xff0c;你要先了解main函数带参数有什么用、 了解socket的相关函数接口 如果不了解socket的相关函数接口请先看我这篇文章 main函数带参数有什么用 UDP udp_server 1.生成socket文件描述符 2.填充sockaddr_in信息 3.bind 4.发&#xff08;收&…

Golang基础7-并发编程

并发编程 https://www.cnblogs.com/Survivalist/p/11527949.html 进程和线程、协程的区别_线程协程进程的区别-CSDN博客 Golang中的并发编程是一个重点&#xff0c;我们要了解Golang中的并发Goroutine因此需要先理解进程、线程、之后再理解协程。 进程&#xff1a;操作系统进…