Python框架下的qt设计之JSON格式化转换小程序

JSON转换小程序

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码展示:

主程序代码:

from PyQt6.QtWidgets import (QApplication, QDialog, QMessageBox
)import sys
import jsonclass MyJsonFormatter(jsonui.Ui_jsonFormatter,QDialog): # jsonui是我qt界面py文件名def __init__(self):super().__init__()self.setupUi(self)self.show()self.pushButton_format.clicked.connect(self.do_format_json('format'))self.pushButton_unformat.clicked.connect(self.do_format_json('unformat'))self.pushButton_copyjson.clicked.connect(self.do_copy_json)def do_copy_json(self):board = QApplication.clipboard()board.setText(self.plainTextEdit_json.toPlainText())QMessageBox.information(self,'信息提示','复制成功')def do_format_json(self,type):def inner_format():json_cont = self.plainTextEdit_json.toPlainText()if not json_cont:QMessageBox.warning(self,'信息提示','请输入内容')returntry:if type == 'format':new_cont = json.dumps(json.loads(json_cont),indent=4,ensure_ascii=False)else:new_cont = json.dumps(json.loads(json_cont),ensure_ascii=False)self.plainTextEdit_json.setPlainText(new_cont)except Exception as e:QMessageBox.warning(self, '信息提示', f'JSON文本有问题,加载报错:{e}')returnQMessageBox.information(self,'信息提示','操作成功')return inner_format
if __name__ == '__main__':app = QApplication(sys.argv)myJsonFormatter = MyJsonFormatter()sys.exit(app.exec())

qt界面py代码

# Form implementation generated from reading ui file 'json.ui'
#
# Created by: PyQt6 UI code generator 6.4.2
#
# WARNING: Any manual changes made to this file will be lost when pyuic6 is
# run again.  Do not edit this file unless you know what you are doing.from PyQt6 import QtCore, QtGui, QtWidgetsclass Ui_jsonFormatter(object):def setupUi(self, jsonFormatter):jsonFormatter.setObjectName("jsonFormatter")jsonFormatter.resize(523, 498)self.verticalLayout = QtWidgets.QVBoxLayout(jsonFormatter)self.verticalLayout.setObjectName("verticalLayout")self.label = QtWidgets.QLabel(parent=jsonFormatter)font = QtGui.QFont()font.setPointSize(10)self.label.setFont(font)self.label.setObjectName("label")self.verticalLayout.addWidget(self.label)self.plainTextEdit_json = QtWidgets.QPlainTextEdit(parent=jsonFormatter)self.plainTextEdit_json.setObjectName("plainTextEdit_json")self.verticalLayout.addWidget(self.plainTextEdit_json)self.horizontalLayout = QtWidgets.QHBoxLayout()self.horizontalLayout.setObjectName("horizontalLayout")self.pushButton_format = QtWidgets.QPushButton(parent=jsonFormatter)self.pushButton_format.setObjectName("pushButton_format")self.horizontalLayout.addWidget(self.pushButton_format)self.pushButton_unformat = QtWidgets.QPushButton(parent=jsonFormatter)self.pushButton_unformat.setObjectName("pushButton_unformat")self.horizontalLayout.addWidget(self.pushButton_unformat)self.verticalLayout.addLayout(self.horizontalLayout)self.pushButton_copyjson = QtWidgets.QPushButton(parent=jsonFormatter)self.pushButton_copyjson.setObjectName("pushButton_copyjson")self.verticalLayout.addWidget(self.pushButton_copyjson)self.retranslateUi(jsonFormatter)QtCore.QMetaObject.connectSlotsByName(jsonFormatter)def retranslateUi(self, jsonFormatter):_translate = QtCore.QCoreApplication.translatejsonFormatter.setWindowTitle(_translate("jsonFormatter", "json格式化小工具"))self.label.setText(_translate("jsonFormatter", "请输入粘贴JSON文本"))self.pushButton_format.setText(_translate("jsonFormatter", "格式化JSON"))self.pushButton_unformat.setText(_translate("jsonFormatter", "反格式化JSON"))self.pushButton_copyjson.setText(_translate("jsonFormatter", "复制JSON内容"))

效果展示:

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

【HTML】注册页面制作 案例二

(大家好,今天我们将通过案例实战对之前学习过的HTML标签知识进行复习巩固,大家和我一起来吧,加油!💕) 案例复习 通过综合案例,主要复习: 表格标签,可以让内容…

说明计算机视觉(CV)技术的优势和挑战

计算机视觉(Computer Vision,CV)技术是一种利用计算机科学和工程技术来处理和分析图像和视频的技术。以下是计算机视觉技术的优势和挑战的几个例子: 优势: 高效快速:计算机视觉技术可以在短时间内处理大量…

【Go】十七、进程、线程、协程

文章目录 1、进程、线程2、协程3、主死从随4、启动多个协程5、使用WaitGroup控制协程退出6、多协程操作同一个数据7、互斥锁8、读写锁9、deferrecover优化多协程 1、进程、线程 进程作为资源分配的单位,在内存中会为每个进程分配不同的内存区域 一个进程下面有多个…

集合的学习

为什么要有集合:集合会自动扩容 集合不能存基本数据类型(基本数据类型是存放真实的值,而引用数据类型是存放一个地址,这个地址存放在栈区,地址所指向的内容存放在堆区) 数组和集合的对比: 集…

Zookeeper 怎么实现分布式锁

基于ZooKeeper实现分布式锁的原理主要基于ZooKeeper提供的一些特性,包括有序性、唯一性、临时节点等。下面是基于ZooKeeper实现分布式锁的 基本原理 有序性:ZooKeeper保证所有写入操作的全局顺序性。当客户端向ZooKeeper写入数据时,ZooKeepe…

Flutter 开发学习笔记(3):第三方UI库的引入

文章目录 前言初始化程序Icon导入如何导入 Toast消息提示框引入简单封装简单使用 Charts图表导入新建pages文件夹存放page简单代码实现效果 总结 前言 Flutter已经发布了有10年了,生态也算比较完善了。用于安卓程序开发应该是非常的方便。我们这里就接入一些简单的…

Pytorch实用教程:TensorDataset和DataLoader的介绍及用法示例

TensorDataset TensorDataset是PyTorch中torch.utils.data模块的一部分,它包装张量到一个数据集中,并允许对这些张量进行索引,以便能够以批量的方式加载它们。 当你有多个数据源(如特征和标签)时,TensorD…

golang语言系列:Web框架+路由 之 Gin

云原生学习路线导航页(持续更新中) 本文是golang语言学习系列,本篇对Gin框架的基本使用方法进行学习 1.Gin框架是什么 Gin 是一个 Go (Golang) 编写的轻量级 http web 框架,运行速度非常快,如果你是性能和高效的追求者…

【JavaEE】_Spring MVC项目上传文件

目录 1. 文件上传具体实现 2. 保存文件 1. 文件上传具体实现 .java文件内容如下: package com.example.demo.controller;import com.example.demo.Person; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.Multip…

拒绝服务攻击(Dos)与Tomcat的解决方法

拒绝服务攻击Dos 拒绝服务攻击(Denial of Service,DoS)是一种网络攻击,旨在使目标系统无法提供正常的服务,使其无法响应合法用户的请求。这种攻击通过消耗目标系统的资源,例如带宽、处理能力或存储空间&am…

【C语言数据库】Sqlite3基础介绍

1. SQLite简介 SQLite is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine. SQLite is the most used database engine in the world. SQLite is built into all mobile phones and most computer…

DM数据库状态

DM 数据库包含以下几种状态: 配置状态(MOUNT): 不允许访问数据库对象,只能进行控制文件维护、归档配置、数据库模式修改等操作;打开状态(OPEN): 不能进行控制文件维护、…

day4|gin的中间件和路由分组

中间件其实是一个方法, 在.use就可以调用中间件函数 r : gin.Default()v1 : r.Group("v1")//v1 : r.Group("v1").Use()v1.GET("test", func(c *gin.Context) {fmt.Println("get into the test")c.JSON(200, gin.H{"…

特征融合篇 | YOLOv8改进之将Neck网络更换为GFPN(附2种改进方法)

前言:Hello大家好,我是小哥谈。GFPN(Global Feature Pyramid Network)是一种用于目标检测的神经网络架构,它是在Faster R-CNN的基础上进行改进的,旨在提高目标检测的性能和效果。其核心思想是引入全局特征金字塔,通过多尺度的特征融合来提取更丰富的语义信息。具体来说,…

JVM面试题(二)

###1. 对象的访问定位的两种方式? Java对象的访问定位主要有两种方式:句柄访问和直接指针访问。 句柄访问: 在句柄访问方式中,Java堆会被划分为两部分:一部分存放对象实例数据,另一部分存放对象实例数据的…

FPGA + 图像处理 (二) RGB转YUV色域、转灰度图及仿真

前言 具体关于色域的知识就不细说了,简单来讲YUV中Y通道可以理解为就是图像的灰度图,因此,将RGB转化为YUV是求彩色图的灰度直方图、进行二值化操作等的基础。 HDMI时序生成模块 这里先介绍一下仿真时用于生成HDMI时序,用这个时…

自贡市第一人民医院:超融合与 SKS 承载 HIS 等核心业务应用,加速国产化与云原生转型

自贡市第一人民医院始建于 1908 年,现已发展成为集医疗、科研、教学、预防、公共卫生应急处置为一体的三级甲等综合公立医院。医院建有“全国综合医院中医药工作示范单位”等 8 个国家级基地,建成高级卒中中心、胸痛中心等 6 个国家级中心。医院日门诊量…

Ubuntu 23.04 安装es

在Ubuntu 23.04上安装Elasticsearch的过程可能与之前版本类似,以下是基于最新稳定版Elasticsearch的一般安装步骤: 准备工作: 确保系统已更新至最新版本: sudo apt update && sudo apt upgrade安装Java Development Kit (…

【Tomcat】Apache官方结束Tomcat 8.5分支版本技术支持

根据 Apache 官方发布的声明,Apache官方将于2024年3月31日后正式结束对于Tomcat 8.5这个分支版本的技术支持,包括以下几点: 1)不太可能继续为 8.5 分支发布新的版本; 2)仅影响 8.5 分支的漏洞将不会被解决&…

时空序列预测模型—PredRNN(Pytorch)

https://cloud.tencent.com/developer/article/1622038 (强对流天气临近预报)时空序列预测模型—PredRNN(Pytorch) 代码分为3文件: PredRNN_Cell.py #细胞单元 PredRNN_Model.py #细胞单元堆叠而成的主干模型 PredRNN_Main_Seq2seq_test.py #用于外推的Seq2seq 编…