首页 > 编程语言 >Python框架下的qt设计之JSON格式化转换小程序

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

时间:2024-04-03 14:33:58浏览次数:24  
标签:qt format Python self json QtWidgets jsonFormatter JSON pushButton

JSON转换小程序

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

代码展示:

主程序代码:

from PyQt6.QtWidgets import (
    QApplication, QDialog, QMessageBox
)

import sys
import json

class 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,'信息提示','请输入内容')
                return

            try:
                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}')
                return
            QMessageBox.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, QtWidgets


class 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.translate
        jsonFormatter.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内容"))

效果展示:

在这里插入图片描述

在这里插入图片描述

标签:qt,format,Python,self,json,QtWidgets,jsonFormatter,JSON,pushButton
From: https://blog.csdn.net/2301_79810514/article/details/137287861

相关文章

  • 【C/C++】VsCode调试配置tasks.json和launch.json
    前段时间配大作业环境改了很多配置,发现tasks.json和launch.json经常令自己很迷惑。网上找的配置有时会有各种各样的问题,在此记录一下上学期配好的配置文件,日后有时间再详细研究研究tasks.json:{"version":"2.0.0","tasks":[{"type":"shell",......
  • Python-脆弱性信息收集
    公司做系统集成,有搜集产品脆弱性需求,包括cisco,vmware,redhat,F5等厂家。如:SecurityAdvisories具体需求:1.每天定时搜集十来个网络设备厂家网站新发布的脆弱性2.根据产品和等级不同,邮件发给不同公司人员,内容包括:新脆弱性链接,脆弱性标题,CVE编号,发布时间等2.不能发送重复脆弱性......
  • python格式全部缩进?
    Python格式全部缩进是编写Python代码时需要注意的一个重要问题。从代码格式化的角度,缩进可以让代码更加易读和易于理解。从代码逻辑结构上讲,缩进可以帮助Python解释器识别代码块。违反了Python格式和规范的代码既不美观,也不易于维护。python格式全部缩进?Python程序块是通过缩进......
  • xgboost,一个超强的 Python 库!
    更多资料获取......
  • 帮忙看下这个题的Python代码咋写
    双11商品调配问题某电商企业有4个中心库、20个一级分拨中心。采购的商品分布到4个中心库,然后由中心库向一级分拨中心发货。为备战双11销售高峰。各中心库集中采购备货,备货量和各分拨中心订货量和各分拨中心到中心库的距离如下表:受天气影响,中心仓库4到分拨中心8-11无法调拨。......
  • 【华为OD】2024年华为OD机试C卷真题集:最新的真题集题库 C/C++/Java/python/JavaScript
    【华为OD】2024年C卷真题集:最新的真题集题库C/C++/Java/python/JavaScript【华为OD】2024年C卷真题集:最新的真题集题库C/C++/Java/python/JavaScript-CSDN博客 2024年华为OD机试C卷真题题集题库,有2种分数的题目列表分别是100分的列表、200分的列表需要订阅请看链接:C卷......
  • Python新手太需要了,这5个做题练习网站爱了!
    前言学习编程语言,练习必不可少,在练习和做题的过程中能够查漏补缺,清楚自己在理论学习过程中的不足和薄弱点,加深对于Python的理解和认识。今天就着重的给大家推荐一些适合「新手」练习的Python做题网站。请注意,这里强调的是「新手」,所以,上来就推leetcode、牛客、codewar的......
  • Python赚外快指南!找点轻松的活增加收入!
    当今收入低于5000的人至少占到40%,完全不够养活一家人,而且很多小伙伴其实空余时间比较多,特别是大学生,零花钱又不够花,都想靠业余时间找点轻松的活增加收入。但是缺没门路,为此结合我多年编程开发经验,总结了几种用Python赚外快的方法:1.最典型的就是找爬虫外包活儿。这个真是体......
  • “金三银四”变“铜三铁四”,会Python数据分析的人却笑了
    金三银四,本该是一年一度的招聘旺季。但今年的职场风向好像有些变化,大型互联网公司纷纷裁员,大批应届毕业生开始“春招”,如今3月份已经接近尾声,而招聘市场却反常的冷淡,尤其是互联网行业,新增职位量大幅下降。大家一边笑称今年的金三银四“氧化”成了“铜三铁四”,一边“投简历......
  • 小哥用Python兼职月入过万,用Python做项目有多赚钱?
    今天给大家分享一下2位前辈业余接兼职做的一些Python项目。达妹在这里想说,无论你是自学还是进培训班,只要把Python学好,钱自然而来。问:请问用Python可以接哪些兼职的活赚钱?1、兼职费用足够学费+生活费恰巧上学期间接过一些外包,恩,足够我和我媳妇的学费以及生活费,以及xx各种......