ryotankの備考録日記

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

栄養素記録補助GUIその1

減量管理入力補助GUIと同じく栄養素記録も補助GUIが欲しいと思い作成する

ゆくゆくは減量管理入力補助GUIと同時に使えるようにしたい

まずはウィンドウのlayoutの配置を決めておく!

f:id:ryotank:20210801201457p:plain
栄養素記録補助GUIのlayoutイメージ図

すげー適当だが。イメージとしてはこんな感じに

今まで気づかなかったが
テキストボックス(下記だとsg.InputText)の大きさが変更出来るらしい・・・

通常のテキストボックスのコード

 [sg.InputText(default_text='運動した回数を入力して下さい', key='sq_input')]

で実行すると

f:id:ryotank:20210801202758p:plain
InputTextのsizeを指定していない場合の実際のもの

これだとテキストボックスの幅が長いので見た目がカッコ悪くみえる。

sg.Inputtextのsizeを指定するように書くと

[sg.InputText('', size=(15,14))] #size=(10,1)だとsize=縦幅,横幅)に相当する

下のような幅が縮小したテキストボックスが生成される

f:id:ryotank:20210801203254p:plain
実際にsizeを指定したInputText

現時点で簡単に栄養素記録補助GUIのコードを書いてみた

"""
カレンダーボタンで選択した日付から各項目を抽出する

項目に何も入力してない場合は自動的に斜線を引く

栄養素記録シートに各項目を記入する

品名は20文字の入力制限をかける
カロリーには5桁の入力制限を
たんぱく質や食物繊維などは3桁の入力制限をかける

あまりにも長くなる場合は2行目になるよう工夫する(レイアウトの事ではないので注意する)

tab表示で1品目~6品目、間食、飲料水名を選択出来る様に

"""

from tkinter import font
from typing import Text
import PySimpleGUI as sg
from PySimpleGUI.PySimpleGUI import PopupOK, PopupYesNo


main_layout =[
                [sg.Text('1品目', font=15, size=(5,2)), sg.InputText('', size=(18,2))],     #1行目  
                [sg.Text('カロリー', font=15,size=(5,1)), sg.InputText('', size=(15,14)), sg.Text('kcal',font=17)], #2行目
                [sg.Text('たんぱく質', font=15),sg.InputText('', size=(15,14)), sg.Text('g',font=17), sg.Text('食物繊維', font=15),sg.InputText('', size=(15,14)), sg.Text('g',font=17)], #3行目

                [sg.Text('脂質', font=15),sg.InputText('', size=(15,14))],  #4行目
                [sg.Text('糖質', font=15),sg.InputText('', size=(15,14)), sg.Text('g',font=17), sg.Text('炭水化物', font=15),sg.InputText('', size=(15,14))],  #5行目
                [sg.Button('一時保存', key='-SAVE-'), sg.Button('セルへ書き込む', key='-Write-'), sg.Button('クリア', key='-CLAER-'), sg.Button('閉じる', key='-CLOSE-')] #6行目
]

main_window = sg.Window('栄養素記録補助GUI', layout=main_layout, size=(550,350))

上記のコードを実行すると・・・・

f:id:ryotank:20210801203554p:plain
栄養素記録補助GUI初期段階キャプチャ

次回はボタンの配置決めとPopupYesNoについて解説する予定
いろいろ出来て楽しいな

ではまた