まずプロジェクト情報画面を作成していく
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()
こんな感じでプロジェクト情報画面が出来るので
実際に生成すると
次回は、基本設定画面のコードと生成した画面を掲載する予定