ryotankの備考録日記

趣味の電子工作についての備考録などなど

svgからpng変換その4

フレームの境界線を分かりやすくするver3.0を作成する

また追加機能としてファイルを選択を行うsg.FileBrowseという
エレメントを使ってファイルを選択出来る様にした

またSVGファイルは「circuit_svg」というフォルダに保存し、
そこからファイルを選んでこれるようにした。

#画面レイアウトに従いレイアウトを作り込む
#2022-7-20作成

#Frameの位置はpadで調整する

#leftにも50mm移動させるとうまくいった


#4.0では、svgだけの名前を取得し、選択できる様にする
#デスクトップにある「circuit_svg」というフォルダにkicadで作成した回路図やパターン図のsvgを保存している
#選択できる用にするにはリストボックス

from contextlib import closing
import PySimpleGUI as sg

left=10
right=00
top=10
bottom=10


left2=120
right2=120
top2=20
bottom2=20

sg.theme('LightGreen3')

frame1_layout =[
    [sg.Text('変換したい回路図.svg')]
]

frame2_layout =[
    [sg.Text('pngになった回路図.png')]
]


layout = [
    [sg.T()],
    [sg.Text('circuit_svgフォルダから変換したいSVGファイルを選択して下さい',
        font=20)],
[sg.T()],
    [sg.Text('ファイル名'), sg.InputText(key="-INPUT1-", font=18)],
    [sg.T('')],
    [sg.T(' '*30), sg.FileBrowse(button_text="ファイルを選択", key="-FILE-", 
    target="-INPUT1-", font=26)],
    [sg.T('')],
    [sg.Frame(title='変換したいsvgのサムネ', layout=frame1_layout,
                pad=((left, right),(top, bottom)), border_width=6, relief=sg.RELIEF_SOLID), 
                sg.T(' '*10),
                sg.Button('停止', key="-STOP-", button_color='black', font=16),
                sg.T(' '*10), sg.Button('変換を実行', key="-START-", font=16)],
    [sg.Text('変換処理のステータス表示', font=18)],
    [sg.ProgressBar(key="-PROCESSING-", size=(30, 30), max_value=100)],
    [sg.Text('実行後にファイルがpngに変換されます', font=20)],
    [sg.Frame(title='pngファイルのサムネイル', relief=sg.RELIEF_SOLID,
            layout=frame2_layout, pad=((left2, right2),(top2, bottom2)), 
            element_justification='center',
            border_width=6, 
            tooltip='生成に成功すればサムネが表示されます')],
    [sg.T('')],
    [sg.FileBrowse('別名で保存', enable_events="-BET-", button_color='red', 
    file_types=("PNGファイル","*.png"), size=(14,1), font=24)],
    [sg.T('')]
]

実際の感じはこう

svgpngを変換ツールver3.0

だが、SVGファイルを選べないという不具合が発生

次回は、原因を探るともにサムネイルを作成する機能を廃止する