json格式应用在数据的前后端传输数据以及存储数据中,开发中经常用到,制作一个pyqt5的json工具,具体看示例
一.界面生成部分;
1.绘画界面以及命名设置
2.组件设置名称--修改
3-总览---关联关系;
4.界面绘制完成,同时生成py文件
5. 这里的jsonutil.ui是图像界面,jsonutil.py是由界面生成的python文件
6.界面文件至此完成
7.注意的地方:
修改字体,颜色扥需要如何修改,方式跟css中的方式一样;
*{
font-size:14px;
}
截图:
8.更改字体颜色:
*{
color:rgb(0, 85, 255)
}
其他调整自行查找css的样式表,可以在'菜鸟教程上寻找更多的内容“”
https://www.runoob.com/css/css-text.html
二.后端开发部分;
import json
from PyQt5.QtWidgets import QApplication,QDialog,QMessageBox
import sys
#导入图形解码生成的py文件
from jsonutil import Ui_Form
#继承ui生成py文件的类Ui_Form
class Myjsonlab(Ui_Form,QDialog):
def __init__(self):
super().__init__()
self.setupUi(self)
#初始化两个连接槽函数,注意这个地方带有一个字符串的参数
self.pushButton_format.clicked.connect(
self.do_format_json("format")
)
self.pushButton_format.clicked.connect(
self.do_format_json("unformat")
)
self.pushButton_3.clicked.connect(
self.do_copy_json
)
def do_copy_json(self):
board=QApplication.clipboard()
board.setText(self.plainTextEdit.toPlainText())
QMessageBox.information(self,"信息提示","复制成功")
#使用的是装饰器函数,返回的还是一个函数
def do_format_json(self,type):
def inner_format():
json_cont=self.plainTextEdit.toPlainText()
if not json_cont:
QMessageBox.warning(self,"信息提示","请输入内容")
return
try:
if type=="format":
new_count=json.dump(
json.loads(json_cont),
indent=4,
ensure_ascii=False)
else:
new_count=json.dumps(
json.loads(json_cont),
ensure_ascii=False)
self.plainTextEdit.setPlainText(new_count)
except Exception as e:
QMessageBox.warning(self, f"json文本有问题,加载报错{e}")
return
QMessageBox.information(self,"信息提示","操作成功")
return inner_format
if __name__ == '__main__':
app=QApplication(sys.argv)
myjsonlab=Myjsonlab()
myjsonlab.show()
sys.exit(app.exec_())



