学习PyQt6(二) json格式化小工具

Qt设计师设计UI界面,记得修改窗体和控件的object属性

从ui文件生成py文件

(pyqt6)) C:\Users\XX\Desktop\pythonProject\chapter03>pyuic6 json_formatter.ui -o json_formatter.py

chapter03文件夹新建json_formatter_main.py文件:

import json
from PyQt6.QtWidgets import QApplication, QWidget, QDialog, QMessageBox
import sys
import json_formatter


class MyJsonFormatter(json_formatter.Ui_JsonFormatter, QDialog):
    def __init__(self):
        super(MyJsonFormatter, self).__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_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

    def do_copy_json(self):
        board = QApplication.clipboard()
        board.setText(self.plainTextEdit_json.toPlainText())
        QMessageBox.information(self, "信息提示", "复制成功")


if __name__ == '__main__':
    app = QApplication(sys.argv)
    myJsonFormatter = MyJsonFormatter()
    sys.exit(app.exec())

运行json_formatter_main.py,输入json字符串,点击格式化json

点击反格式化json

点击复制json内容

打包成.exe文件

pyinstaller -F -w json_formatter_main.py

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值