ryotankの備考録日記

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

回路草案入力フォーム

回路草案入力フォームその23

前回はフォームBのクリアボタンのイベントが 計11個と多くそのせいでValueErrorが出た問題解決方法として フォームBクリアボタン処理を関数化して実験してみた def Form_B_clear(): #フォームBクリアボタン処理関数 pass #実現したい処理を記述 window['Boar…

回路草案入力フォームその22

too many values to unpackが出たのはevent, vluesの箇所なので、イベントが多い箇所を探すとフォームBの クリアボタンのイベントが圧倒的に多いこの部分が多すぎる為エラーを吐いた可能性があるこの問題を解消するには以下のような関数化するのがいいかも・…

回路草案入力フォームその21

前回はメインウインドウからフォームB(sub_window)を開き そのフォームBからさらにフォームC(sub2_window)を開いて というようにしようとしていたが構造的に複雑になる為Tabで切り替えられるように変更するなのでTabGroupを使用しTab切り替え実装する基板作…

回路草案入力フォームその20

ふとVScodeでソースコードをPDF化出来たら チェックの時にすげー便利だと思い 探してみたら 「PrintCode」という拡張機能がありそれを使えば今までメモ帳に貼り付けして印刷した時にコードが見やすくしかも 崩れないように”わざと”インデントを下げたり して…

回路草案入力フォームその19

入力項目を変数に格納してsg.popupを使い通知する コードを試そうとデバック開始したら以下のような エラーが発生した 草案入力フォームTab切り替え実装動作確認でエラーが発生キャプチャValueErrorの解決方法として 変数の数と代入する値の数を確認する 関…

回路草案入力フォームその18

今回は、各フォームのクリアボタンの実装を試すクリアボタンの部分のみ載せる while True: event, values = window.read() if event in None: break elif event == '-CLEAR-': #フォーム1のクリアボタンが押されたら window['cad_name'].update("") #回路cad…

回路草案入力フォームその17

草案入力フォームの機能について ・基板の名前や部品候補の入力が出来る ・予算金額の入力 ・草案の作成年月日を入力 ・ファイルはtxtかPDFのどちらかでデータを残せる ・Tab切り替えでフォームを変えられる追加機能として専用DBに記録し、検索出来る様にす…

回路草案入力フォームその16

改めて今回のGUIについて説明すると基板を設計する時に 草案入力フォーム的なものが欲しいと思った開発言語はいつも通りPythonでPySimpleGUIを使う Tab切り替えを実装する 出来れば専用DBで管理できる様にしたい例のごとく GUIのイメージ図と画面レイアウト…

回路草案入力フォームその15

前回は、pickleを使ってオブジェクトを保存したり、 読み込んだりでpickleの使い方について学んだその3では、回路草案入力フォームの入力項目を オブジェクトに保存したいもにょもにょしながらコードを書いたが インデントが正しくないとエラーが発生する pi…

回路草案入力フォームその14

pickleを使ってオブジェクト(変数や配列)を保存する方法が あるらしいのでフローチャートを作成して、 pickleを使いオブジェクトを保存するpickleを使いオブジェクトを保存するフローチャート-読み出し方法オブジェクトを保存する例 import pickle draft_cir…

回路草案入力フォームその13

フォームのイメージ図通りに作り込んだ 回路草案作成フォームTab切り替えフォーム1実際の画面キャプチャ回路草案作成フォームTab切り替えフォーム2実際の画面キャプチャ回路草案作成フォームTab切り替えフォーム3実際の画面キャプチャこのように出来たので、…

回路草案入力フォームその12

フォーム全体に組み込んでもフォーム移動の機能は どうも動作しないのでTabの切り替えでフォームの切り替えを実装するまずは、Tab切り替えのイメージ図の作成から例のごとく画面レイアウト用にイメージ図を作る 基板草案入力フォームイメージ図-フォームの最…

回路草案入力フォームその11

修正したコードを載せ、一連の動作をのっける import PySimpleGUI as sg def Form2_window(): #フォーム2/3 pass sub_layout = [ [sg.T(' '*18), sg.Text('各項目を入力して下さい', font='小塚ゴシック17')], [sg.Text('基板名', font='小塚ゴシック17'), s…

回路草案入力フォームその10

フォーム2ページと3ページ目にクリアボタン実装したが うまく出来なかったその時の失敗コードを晒す def Form2_window(): #フォーム2/3 pass sub_layout = [ [sg.T(' '*18), sg.Text('各項目を入力して下さい', font='小塚ゴシック17')], [sg.Text('基板名',…

回路草案入力フォームその8

sg.Inputをenable_events引数で設定してイベントとして処理するのが前提文字コードをutf-8にエンコードするように変換して 再度動作確認する以前、sg.input()で入力された文字列をlistという変数に 格納したがその時にエンコードを指定すればいいと思い立っ…

回路草案入力フォームその9

フォームのクリアボタン実装が実装できた まだフォームの最初のクリアボタンのみしか確認できていない・・・ import PySimpleGUI as sg from PySimpleGUI import TITLE_LOCATION_TOP, InputText sg.theme('LightGreen3') #分類分けFrame L1 = [ [sg.Radio('…

回路草案入力フォームその7

フォームに沿って各項目を入力していくには以下の事が出来るのが前提になる 0.sg.Inputをenable_events引数で設定してイベントとして処理する1.取りあえずsg.Inputで入力されたものをリスト化2.リスト化したものをjoblibで書き出し処理をするこれをコ…

回路草案入力フォームその6

フローチャートが完成したので載せておく jpblibを使った一時保存フローチャートこれに沿ってコードを書いてJupiternotebookで動作確認をする

回路草案入力フォームその4

一時保存をするにはどうしたら良いのか 調べてみると Pickleという組み込み関数で、Pythonの変数などを外部ファイルに保存する 用途として初期設定や途中データの保存に使えるコレを使えば、自前でフォーマットなどを考えなくても、変数やクラスをまるごと保…

回路草案入力フォームその3

各機能の実装に必要な下調べ ・入力した項目をtxtに渡す ・入力した項目をpdfに渡す どちらも入力された項目を変数に格納する事が第一目標 それが出来ればpdf生成用のコードやtxt生成用のコードを追加するだけ・・・ ・金額の欄には4000円など"数字のみが入…

回路草案入力フォームその2

実際のフォーム画面のgifをのせる 実際のフォーム画面をgifにしたもの画面内の「次へ移動」ボタンを押すと画面が切り替わるその時のソースコードが以下の通り import PySimpleGUI as sg def Form2_window(): pass sub_layout = [ [sg.T(' '*18), sg.Text('各…

回路草案入力フォームGUIその1

回路設計をする時に大まかな部品構成、金額、回路のコンセプトなど作成するたびに書く文言を入れるのが多いのでフォームをGUI化して出来るだけ簡素化出来る様にする 最悪完成しなくてもこの技術を何らかの形で利用できると思う フォームGUIのイメージ図がこ…