Pyqt5 List Widget 用户自定义添加/删除字段

news2025/1/15 13:07:51

添加和删除字段的逻辑

在窗口上显示一个list widget的窗口,还有一个添加字段的按钮

点击添加字段会弹出一个输入框,将内容作为一个item添加到list widget中

点击对应的已添加的字段,即会显示删除按钮,点击即可删除该字段

效果


博主定义的此list widget名称为【strListWidget】,代码需要替换为你自己的list widget,【addBtn】同理

由于整体的代码太多,博主这里就写出了关键的代码,对应替换为自己代码即可

需要导入到包

from PyQt5.QtGui import QCursor
from PyQt5.QtWidgets import QApplication, QMainWindow, QFileDialog, QMessageBox, QWidget, QInputDialog, QMenu, QAction

绑定对应的事件

# 绑定添加事件
self.addBtn.clicked.connect(self.add_item)

# 绑定删除事件
self.strListWidget.itemClicked.connect(self.show_context_menu)

对应的事件

# 添加对应的字段
def add_item(self):
    item_text, ok = QInputDialog.getText(self, "添加字段", "输入内容")
    if ok and item_text:
        self.strListWidget.addItem(item_text)


# 删除对应的字段
def show_context_menu(self):
    context_menu = QMenu(self)
    delete_action = QAction("删除", self)
    delete_action.triggered.connect(self.delete_item)

    context_menu.addAction(delete_action)
    pos = self.strListWidget.mapToGlobal(self.strListWidget.viewport().pos()) + self.strListWidget.mapFromGlobal(
        QCursor().pos())
    context_menu.exec_(pos)


# 删除事件
def delete_item(self):
    current_row = self.strListWidget.currentRow()
    if current_row >= 0:
        self.strListWidget.takeItem(current_row)

效果

        添加

                

        删除

        ​​​​​​​        

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

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

相关文章

登录Edge发生了错误请稍后再试。Oxcfff82e发送反馈ccf05c90-0acc-0005-3100-f2cccc0ada01

登录Edge 发生了错误请稍后再试。Oxcfff82e发送反馈ccf05c90-0acc-0005-3100-f2cccc0ada01 1、如果连接了 VPN ,建议断开 VPN。 2、按 “Windows 徽标键X”,启动 “Windows Power Shell(管理员)”(也可以自行以管理员…

【java学习—十】List集合(6)

文章目录 1. List 与 ArryList2. 应用2. ArrayList 与 Vector 1. List 与 ArryList List 代表一个元素有序、且可重复的集合,集合中的每个元素都有其对应的顺序索引     List 允许使用重复元素,可以通过索引来访问指定位置的集合元素。     List…

开源库存管理系统InvenTree的安装

本文是应网友 shijie880500 要求折腾的; 什么是 InvenTree ? InvenTree 是一个开源的库存管理系统,提供强大的低级别库存控制和零件跟踪。InvenTree 系统的核心是 Python/Django 数据库后端,它提供了一个管理界面(基于…

Mac 上免费的网络Folx Mac 下载器

Mac最好的下载工具Folx Pro 5 for Mac 是由兔八哥爱分享整理发布 。 Folx Pro 5 for Mac是目前Mac平台上数一数二的下载工具,功能强大,几乎可以满足您的所有下载需求。folx pro for mac完整版不但可以下载网上任何文件,而且支持断点续传&…

大数据之LibrA数据库系统告警处理(ALM-12001 审计日志转储失败)

告警解释 根据本地历史数据备份策略,集群的审计日志需要转储到第三方服务器上。如果转储服务器满足配置条件,审计日志可以成功转储。审计日志转储失败,系统产生此告警。如果第三方服务器的转储目录磁盘空间不足,或者用户修改了转…

【JavaSE】逻辑控制:顺序、分支和循环结构

目录 一、概述与顺序结构 1.逻辑控制的概述 2.顺序结构 二、分支结构 1.if语句 2.switch语句 3.switch语句与if语句的对比 三、循环结构 1.while语句 2.for语句 3.do…while循环(选学) 四、循环的跳转 1.break语句 2.continue语句 五、总…

【设计模式】第20节:行为型模式之“备忘录模式”

一、简介 备忘录模式也叫快照模式,具体来说,就是在不违背封装原则的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便之后恢复对象为先前的状态。这个模式的定义表达了两部分内容:一部分是…

git重装后如何连接以前项目

git重装后如何连接以前项目 1、配置秘钥 点击 Git Bash Here,进入命令操作窗口 生成本地git仓库秘钥: 1、填写自己邮箱 2、一直回车 ssh-keygen -t rsa -C “xxxxxqq.com”3、使用cat查看生成的秘钥,粘贴并设置到gitee上 cat ~/.ssh/id_r…

3.2、Linux开发工具之gcc/g++

个人主页:Lei宝啊 愿所有美好如期而遇 目录 背景知识 gcc如何完成 预处理 编译 汇编 链接 函数库 gcc选项 g和gcc的区别 背景知识 二进制-->汇编-->C-->C,java,php等 刚开始,工程师和科学家们是通过二进制指…

Flutter PopupMenuButton下拉菜单

下拉菜单是移动应用交互中一种常见的交互方式,可以使用下拉列表来展示多个内容标签,实现页面引导的作用。在Flutter开发中,实现下拉弹框主要有两种方式,一种是继承Dialog组件使用自定义布局的方式实现,另一种则是使用官方的PopupMenuButton组件进行实现。 如果没有特殊的…

Apache Doris (四十八): Doris表结构变更-替换表

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录

浅析智慧水务平台在城市发展中的应用

贾丽丽 安科瑞电气股份有限公司 上海嘉定 201801 摘要:当下,以数字孪生为主的数字技术愈发成熟,为使得长江水环境治理能够“长治久安”,上海院在长江大保护先行先试城市九江城中水环境治理中启用了智慧水务先进理念,搭…

使用requests库进行HTTP爬虫编程

目录 一、安装requests库 二、发送HTTP请求 三、解析HTML页面 四、处理HTTP响应和异常 五、使用代理和会话管理 六、使用多线程或多进程提高效率 七、数据存储和处理 八、注意事项和总结 在当今的数字化世界中,数据已经成为了一种宝贵的资源。而网络爬虫程序…

众和策略可靠吗?退市股票重组成功多久能上市?

可靠 跟着资本商场的不断发展,股市上出资的热情愈发高涨。在出资行为中,许多出资者挑选在较低价位上购买退市股票,借此实现获利。但当一只退市股票宣告成功进行重组并将从头上市,许多出资者会关心一个问题:这只退市股…

HTTPS协议与WordPress升级后网站不兼容的解决方法

茹莱神兽个人博客之前上线装了一个WordPress缓存插件WP Super Cache,这个WordPress插件安装是有一些条件的;茹莱神兽没有注意这些,直接按照常规插件的方法装的,结果插件出现了后台不兼容问题,不过还是能勉强用&#xf…

微信小程序的学生宿舍门禁签到请假管理系统

宿舍门禁管理系统具有通知公告、宿舍规则等功能。宿舍门禁管理系统采用Java语言,Springboot框架,基于mysql数据开发,实现了学生、辅导员、问题学生、通知公告、系统管理等内容进行管理,本小程序具有良好的兼容性和适应性&#xff…

众和策略:暖市场提信心 逾30家公司加入回购增持队伍

A股公司回购增持热潮仍在持续。据不完全统计,10月29日晚,有逾越30家上市公司会集发表了回购计划及重要股东、董监高增持计划,用实践举动为商场注入暖意,以真金白银传递开展决计。其间,不少上市公司控股股东、实控人或董…

PHP判断get、post、put、patch、delete、ajax请求

PHP中&#xff0c;我们可以通过$_SERVER[REQUEST_METHOD]来判断当前的请求类型。下面是一个判断当前请求类型的示例代码&#xff1a; <?php function getRequestMethod() {$request_method $_SERVER[REQUEST_METHOD];switch ($request_method) {case GET:return get;case…

【mysql】数据库插入默认值defalut

1. 插入的默认值default drop table if exists test_default; create table test_default(id int primary key ,ts timestamp default CURRENT_TIMESTAMP ) ENGINEINNODB DEFAULT CHARSETutf8;truncate test_default; insert into test_default(id,ts) values(1,default); ins…

课题研究结硕果,行稳致远再启航——CASAIM与中国船级社在《三维扫描测量技术在新造船过程控制和检验》圆满结题

近期&#xff0c;中国船级社&#xff08;CCS&#xff09;组织召开了《三维扫描测量技术在新造船过程控制和检验》研究项目结题评审会&#xff0c;来自全国各地的船东、设计单位、船厂、科研院所、设备厂家等单位的多位专家和代表以线上视频会议方式对此项研究及其研究成果进行了…