ryotankの備考録日記

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

電子工作作業日工程表GUI開発その2

まずプロジェクト情報画面を作成していく

import customtkinter as ctk
from CTkMessagebox import CTkMessagebox
import calendar as cr
import openpyxl


app = ctk.CTk()

class ganttchart_pro_App(ctk.CTk):
        def __init__(self):
                super().__init__()
                self.title("電子工作作業日ガントチャートGUI_プロジェクト情報画面の再現")
                self.geometry("700x650")
                self.grid_rowconfigure(0, weight=1)
                self.grid_columnconfigure(0, weight=1)


                #アプリにウィジェットを追加する
                self.button_font =ctk.CTkFont(family='YU Gothic', size=14)
                self.save_btn = ctk.CTkButton(master=self, text='上書き保存', bg_color='blue', text_color='white',
                                        font =self.button_font, command=ask_question)
                self.save_btn.grid(row=1, padx=40, pady=20)


                self.Process_sheet_label =ctk.CTkLabel(master=self, text='工程表')
                self.Process_sheet_label.grid(padx=40)
                self.segemented_button_var = ctk.StringVar(value="1ヵ月") #これを初期値で表示する

                self.segemented_button = ctk.CTkSegmentedButton(master=self, values=["1ヵ月", "3ヵ月", "6ヵ月", "12ヵ月"],
                                                variable=self.segemented_button_var, selected_color='yellow', 
                                                font = self.button_font,
                                                text_color='red', corner_radius=4)
                self.segemented_button.grid(padx=50)



                self.label_font =ctk.CTkFont(family='YU Gothic', size=16)
                self.Project_information_label = ctk.CTkLabel(master=self, text='<プロジェクト情報>', font=self.label_font)
                self.Project_information_label.grid(padx=30)

                self.proname_label = ctk.CTkLabel(master=self, text='[プロジェクト名]', font=self.label_font)
                self.proname_label.grid(padx=30)
                self.proname_textbox = ctk.CTkEntry(master=self, width=300, height=30, corner_radius=2)
                self.proname_textbox.grid(padx=20, pady=10)
        
                def copy():
                        global things
                        things = (self.proname_textbox.get(0.1, ctk.END)) 


                self.start_label =ctk.CTkLabel(master=self, text='[開始日]', font=self.label_font)
                self.start_label.grid(padx=50)
                self.start_entry = EntryDate(master=self, width=150, height=30, corner_radius=2)
                self.start_entry.grid(padx=20, pady=10)

                self.completion_date_label = ctk.CTkLabel(master=self, text='[完了予定日]', font=self.label_font)
                self.completion_date_label.grid(padx=50)
                self.completion_date_entry = EntryDate(master=self, width=150, height=30)
                self.completion_date_entry.grid(padx=30)

                self.author_label= ctk.CTkLabel(master=self, text='[作成者]', font=self.label_font)
                self.author_label.grid(padx=30)
                self.author_Entry = ctk.CTkEntry(master=self, width=140, height=30)
                self.author_Entry.grid(padx=40, pady=10)

                self.person_in_charge_label = ctk.CTkLabel(master=self, text='[責任者]', font=self.label_font)
                self.person_in_charge_label.grid(padx=30)
                self.person_in_charge_Entry = ctk.CTkEntry(master=self, width=140, height=30)
                self.person_in_charge_Entry.grid(padx=30)

                self.created_date_label = ctk.CTkLabel(master=self, text='[工程作成日]', font=self.label_font)
                self.created_date_label.grid(padx=40)
                self.created_date_entry = EntryDate(master=self, width=240, height=30)
                self.created_date_entry.grid(padx=30)
app=ganttchart_pro_App()
app.configure(fg_color="green")
#ウィンドウアイコンの設定
#app.iconbitmap(R'C:/users/****/desktop/作業物/Pythonプログラム関連/CustomTkinter関連/ガントチャートGUI/ウィンドウアイコン関係/****_window.ico')
app.mainloop()

こんな感じでプロジェクト情報画面が出来るので

実際に生成すると

プロジェクト情報画面の再現2回目

次回は、基本設定画面のコードと生成した画面を掲載する予定