ryotankの備考録日記

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

基板作りチェックリストアプリ

基板作りチェックリストその44

PDFに変数を書き込むその3 内容として 基板名入力フォームAの項目を変数に格納しヘッダー部分に描画する もし、基板名が何も入力されていない状態なら 通知で「名前が設定されていません」を表示する一部抜粋して載せる elif sub_event =='-header_PDF_INPUT…

基板作りチェックリストその43

PDFに書き込むその2一部抜粋して載せる """基板作りチェックリストの機能動作確認 ファイル名:PDFに変数を書き込むその2 内容:フォームで入力された項目(フォームAのリスト作成日のみ)を変数に格納し それをPDFのヘッダー部分に描画する 作成年月日:2022-6-2…

基板作りチェックリストその42

pdfに変数を書き込むその1が 完成したので投稿する一部抜粋して載せる """ 基板作りチェックリストの機能動作確認 ファイル名:PDFに変数を書き込むその1 内容:フォームで入力された項目を変数に格納し それをPDFのヘッダー部分に描画する 作成年月日:2022-6-…

基板作りチェックリストその41

振り分けたボタンをコード化していくおさらい1個目は 「基板名他を読み取る」2個目は、 「ヘッダー部分に書き込み」3個目は 「基板分類を読み取る」4個目は 「フッター部分に書き込み」ボタンに名称を変更する5個目は 「DBに登録」実際のコードに組み込む1個…

基板作りチェックリストその40

pythonのelse文について学び直すボタン操作が最低でも5つあり、その場合は どう対処すべきかを書いていく条件式を複数指定する時に使うのがelif ほかの言語で説明すると「else if」と同じ役割 #構文ルール:elif if 条件1: 条件式1がTrueの場合に行う処理 eli…

基板作りチェックリストその39

まず現在開発中のコードで PDFに変数を書き込むその1.pyで 変数をPDFに書き込む処理を実現しようとしているのだがイベント名が複数あるので、すべてを把握できていない ・PDFに書き込むボタン key名:'PDF_INPUT' ・読み取るボタン key名:'-GET-' ・PDFに書…

基板作りチェックリストその38

問題の当該コードは Tab2 = [ [sg.Frame('分類分け', L1, title_color='Blue', font=('小塚ゴシック', 20), title_location=TITLE_LOCATION_TOP, pad=((150,0),(15,35)), border_width=2)], [sg.T('')], [sg.Button('PDFに書き込む', font=16, button_color=…

基板作りチェックリストその37

Tab機能を基板作りチェックリストGUIに組み込んで デバックを開始したら以下のようなエラーが発生した 基板名入力フォームTabを実装時エラーが発生その1キャプチャ基板名入力フォームTabを実装時エラーが発生その2キャプチャこのエラーを解消しないと基板名…

基板作りチェックリストその36

入力項目を変数に格納し、それをPDFに書き込む 動作確認その1として 変数をPDFのヘッダー部分に描画するその前に入力フォームの見た目を少し改良する動作確認用として「PDFに書き込む」ボタン 「読み取る」ボタンを追加するイメージ図はこれ 基板づくりチェ…

基板作りチェックリストその35

変数に格納動作確認その3:入力フォームで入力した項目を 格納し同時に通知する一部抜粋してコードを載せる window = sg.Window('基板作りチェック入力項目を変数に格納その3', L, ) #イベントループ while True: main_event, value= window.read() #イベン…

基板作りチェックリストその34

変数に格納動作確認その2:入力フォームで入力したリスト作成年月日を 格納し通知する一部抜粋してコードを載せる if main_event == '-BOARDinput-form-': #基板名入力フォームボタンが押されたら #サブ画面を開く時に毎回layoutを宣言する #エラーが発生せ…

基板作りチェックリストその33

フォームで入力した項目を変数に格納するその1その1:基板名入力フォームで入力した基板名を変数に格納し それを通知するもの """フォームで入力された項目(基板の名前の項目のみ)を変数に格納し 格納した値をpopupで通知する 作成年月日:2022-6-1 動作確認…

基板作りチェックリストその32

今までのコードだとpdfを生成した時に フォルダを指定していないため、ファイルが どこにあるか不明で、探すのに、時間がかかったこの悩みを解消するため import osを使った保存先を指定し ファイルを作成するコードを作る やり方としては、 第一引数dir_pat…

基板作りチェックリストその31

記入ボタンが押された時にpdf上の ヘッダーとフッターに文字列を書き込む一部抜粋してソースコードを載せる sub_window = sg.Window('基板名入力フォーム (1/2)', layout= sub_layout) while True: sub_event, sub_value = sub_window.read() if sub_event i…

基板作りチェックリストその30

「記入」ボタンを押して文字を描画出来るようにするにはButtonにkeyイベントをつけて イベントを発生するように設定する必要があるそこで以下のように設定をした 一部を抜粋してコードを載せる if main_event == '-BOARDinput-form-': #基板名入力フォームボ…

基板作りチェックリストその29

「記入」ボタンを押して文字を描画出来るようにするには自作関数を作るのが簡単 def 関数名(引数1、引数2): #ここに関数の処理を記述 rerutn 戻り値 という形で書ける 文字を描画するので、特定ライブラリをインポートする事を忘れずに def pdf_Draw_charact…

基板作りチェックリストその28

ヘッダーとフッター混合描画テストを試すテスト1ではヘッダーとフッターに長方形を描画し、 テスト2ではヘッダーとフッターに文字を描画する #混合描画テスト2 from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import A4, portrait from …

基板作りチェックリストその27

基板作りチェックguiから基板名入力フォームを開くその2その2は、基板名入力フォーム(2/2)の基板分類分け選択欄が開くもの その3は、フォーム2/2の「記入」ボタンを押すと 選択した分類分けや基板の名前、リスト作成年月日が PDF上に記載されるその4では、「…

基板作りチェックリストその26

「基板名入力フォーム」ボタンを押すと 別のform画面が表示される """ チェックリストGUIから基板名入力フォームを開くその1 「基板名入力フォーム」ボタンを押すと 別のform画面が表示される 動作確認日:2022-5-20 """ import PySimpleGUI as sg from PySim…

基板作りチェックリストその25

今回はフッター部分を作成していくこれが成功すれば、ヘッダーとフッター部分を混合させたものを作り ちゃんとしたリスト表が完成する from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import A4, portrait from reportlab.lib.units imp…

基板作りチェックリストその24

ヘッダー部分を描画するテストコード from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import A4, portrait from reportlab.lib.units import cm #cm単位で座標を指定 #特定のフォントを指定する為に from reportlab.pdfbase import pdfm…

基板作りチェックリストその23

日本語を含むpdfファイルを生成する 動作確認その1A4縦のヘッダー部分に基板名とリスト作成年月日を描画するちなみにA4サイズは、縦が29.7cm 横が21.0cmとし PDFファイル名は、基板作りチェックヘッダー部分描画テスト1.pdf とする文字の書き込みなどをする…

基板作りチェックリストその22

pythonのPDFライブラリ「ReportLab」を使ったpdfの生成の仕方用紙サイズの指定は、reportlab.lib.pagesizesで定義されている 用紙サイズをCanvas作成に指定する。 デフォルトだとA4縦になっている改ページにしたい場合は showPageで、それまでにCanvasに対し…

基板作りチェックリストその21

既存PDFに日本語のテキストを書き込む フローチャートに従ってpdfを生成したいところだが、初期段階として基板作りチェックリスト読み込み用の PDFを読み込ませて様子見をしてみる PDF生成関数その2無事に読み込みが出来ればフローチャート通りに コード組ん…

基板作りチェックリストその20

今回はヘッダー部分に基板名、少し間隔をあけて作成年月日 フッター部分に右端に基板の分類名 ガーバーデータの注意事項、担当者がチェックした日付を 記入出来る記入日欄をつけるのが目標1とし PyPDF2というライブラリを利用して "既存PDFに日本語のテキス…

基板作りチェックリストその19

表の描画を試し最終的には、チェックリストの区分けが 出来る様なPDFを生成する まずはPDFのイメージ図で PDF生成 表の描画イメージ図こんな感じにしたい 中の数値は適当な値を入れる で生成されたのは以下の通り また、当初はPDFを生成して、そこにリストの…

基板作りチェックリストその18

PDF生成関数 第1段階 ヘッダーフッター部分を矩形で描画する ヘッダー部分はライトグリーンで塗りつぶし まずは、ヘッダー部分から試す #ヘッダー部分を矩形で描画する #塗りつぶしの色の設定方法は 描画前にCanvasに対して設定する #描画した時にfill=True…

基板作りチェックリストその17

PDFファイルのヘッダー部分に基板名とリスト作成年月日が記入される コードを完成させるそのためにはA4サイズのヘッダー部分の領域を調べてどんな配置にするかを 検討するかまずヘッダー部分にあたる箇所に色付けを行い、可視化出来る様に また本文(リスト項…

基板作りチェックリストその16

基板名入力フォーム画面が完成した 基板名入力フォーム画面 全体 その時のコードが以下の通り import PySimpleGUI as sg sg.theme('LightGreen5') #基板分類分けFrame L1 = [ [sg.Radio('モジュール基板', group_id='g1', font=('小塚ゴシック', 15))], [sg.…

基板作りチェックリストその15

列レイアウト作成がうまく出来ないという事だったがそれはGUIのlayoutの[]部分の終わりを 閉じていなかった事凡ミスに悩まされた2週間だった・・・ コードを書いたら小休止は必要やね・・ また今後PySimpleGuiのレイアウトでよく使うsg.Columnの箇所も載せて…