PySimpleGUIDesigner 项目教程

PySimpleGUIDesigner 项目教程

PySimpleGUIDesigner Desinger for PySimpleGUI PySimpleGUIDesigner 项目地址: https://gitcode.com/gh_mirrors/py/PySimpleGUIDesigner

1. 项目目录结构及介绍

PySimpleGUIDesigner 项目的目录结构如下:

PySimpleGUIDesigner/
├── psg_ui_maker.py
├── transpiler2.py
├── tmp_untitled.ui
├── result_psg.layout
└── README.md

目录结构介绍

  • psg_ui_maker.py: 这是项目的主文件,负责将 Qt Designer 生成的 XML 文件转换为 PySimpleGUI 代码。
  • transpiler2.py: 这是转换器的核心文件,包含了将 Qt 元素转换为 PySimpleGUI 元素的逻辑。
  • tmp_untitled.ui: 这是一个示例的 Qt Designer 生成的 XML 文件,用于测试和演示。
  • result_psg.layout: 这是转换后的 PySimpleGUI 代码的输出文件。
  • README.md: 项目的说明文件,包含了项目的概述、安装和使用说明。

2. 项目启动文件介绍

项目的启动文件是 psg_ui_maker.py。这个文件的主要功能是将 Qt Designer 生成的 XML 文件转换为 PySimpleGUI 代码。

psg_ui_maker.py 文件介绍

from PySide2 import QtCore, QtGui, QtWidgets
from PySide2.QtCore import *
from PySide2.QtGui import *
from PySide2.QtUiTools import QUiLoader
from PySide2.QtWidgets import *
from transpiler2 import *
import sys
import os
import PySimpleGUI as sg

class MyWin(QtWidgets.QMainWindow):
    def __init__(self, object_name):
        super().__init__(None)
        # 获取文件路径
        cd = os.path.dirname(os.path.abspath(__file__))
        tmp_untitled = os.path.join(cd, 'tmp_untitled.ui')
        result_psg_ui = os.path.join(cd, 'result_psg.layout')
        try:
            # 读取 XML-UI 文件并加载到 Qt 对象中
            xml_ui_file = QFile(tmp_untitled)
            xml_ui_file.open(QFile.ReadOnly)
            ui = QUiLoader().load(xml_ui_file)
            # 转换为 PySimpleGUI 代码
            no_bad_widgets = sys.argv[2] == '1'
            psg_ui = optimize_psg_code(to_psg_element(getattr(ui, object_name), pass_bad_widgets=no_bad_widgets))
            # 输出 PySimpleGUI 代码到文件
            with open(result_psg_ui, 'w', encoding='utf-8') as ff:
                ff.write(psg_ui)
        except Exception as e:
            message = 'Error: \n' + str(e)
            if '''PySide2.QtWidgets.QMainWindow' object has no attribute''' in str(e):
                message = 'Error: \nElement with "object name"="' + object_name + '" not found'
            # 输出错误信息到文件
            with open(result_psg_ui, 'w', encoding='utf-8') as ff:
                ff.write(message)
            return message

if __name__ == "__main__":
    qapp = QtWidgets.QApplication(sys.argv)
    myqapp = MyWin(sys.argv[1])
    myqapp.close()

启动文件功能

  • 读取 tmp_untitled.ui 文件并加载到 Qt 对象中。
  • 将 Qt 对象转换为 PySimpleGUI 代码。
  • 将生成的 PySimpleGUI 代码输出到 result_psg.layout 文件中。

3. 项目的配置文件介绍

PySimpleGUIDesigner 项目没有明确的配置文件,但可以通过命令行参数进行配置。

命令行参数介绍

  • sys.argv[1]: 指定要转换的 Qt 对象的名称。
  • sys.argv[2]: 是否忽略未实现的 Qt 控件(1 表示忽略,0 表示不忽略)。

示例

python psg_ui_maker.py "somegroupBox" "1"

这个命令将转换名为 somegroupBox 的 Qt 对象,并忽略未实现的控件。


通过以上内容,您可以了解 PySimpleGUIDesigner 项目的目录结构、启动文件和配置方式。希望这篇教程对您有所帮助!

PySimpleGUIDesigner Desinger for PySimpleGUI PySimpleGUIDesigner 项目地址: https://gitcode.com/gh_mirrors/py/PySimpleGUIDesigner

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

许煦津

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值