Positive Psychology GUI Program Software
import tkinter as tk from tkinter import messagebox import datetime
class DailyQuestApp: def init(self, root): self.root = root self.root.title("긍정심리학 Daily Quest") self.entries = {}
quests = [
("감사의 창 열기", "오늘 감사한 일 3가지를 적어보세요."),
("몰입의 씨앗", "오늘 몰입했던 순간을 떠올려보세요."),
("강점 강화 스킬", "오늘 사용한 강점 또는 내일 사용할 계획을 적어보세요."),
("의미의 불꽃 찾기", "의미 있었던 행동을 적어보세요."),
("내일의 도전 세팅", "내일의 작은 목표를 설정하세요."),
("감정 온도계 점검", "오늘의 감정 상태를 간단히 정리해보세요.")
]
for i, (title, prompt) in enumerate(quests):
frame = tk.LabelFrame(root, text=title, padx=10, pady=5)
frame.grid(row=i, column=0, padx=10, pady=5, sticky="ew")
label = tk.Label(frame, text=prompt)
label.pack(anchor='w')
text = tk.Text(frame, height=3, width=60)
text.pack()
self.entries[title] = text
save_btn = tk.Button(root, text="오늘의 기록 저장하기", command=self.save_entries)
save_btn.grid(row=len(quests), column=0, pady=10)
def save_entries(self):
today = datetime.date.today().isoformat()
filename = f"daily_quest_{today}.txt"
with open(filename, "w", encoding='utf-8') as file:
file.write(f"긍정심리학 Daily Quest - {today}\n\n")
for title, text_widget in self.entries.items():
content = text_widget.get("1.0", tk.END).strip()
file.write(f"[{title}]\n{content}\n\n")
messagebox.showinfo("저장 완료", f"오늘의 기록이 '{filename}'에 저장되었습니다.")
if name == "main": root = tk.Tk() app = DailyQuestApp(root) root.mainloop()
댓글
댓글 쓰기