赞
踩
代码展示:
主程序代码:
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内容"))
效果展示:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。