Python | ChatGPTを利用したmobile application用”To-Do list”の構築方法

2023年10月1日

ChatGPTとはChat Generative Pre-trained Transformerの略であり,OpenAI社が開発し,2022年11月に公開した人工知能チャットボットである.

今回,ChatGPTを利用してmobile application用のTo-Do listを作成したので,そのコードを以下に記す.

実施環境

Windows 11
Python 3.11
Visual Studio Code (VS Code) 1.82.2

準備

フォルダを作成し,VS Codeを開く.三本線の赤枠をクリックし,"File"を選択する.その後,"Open Folder"をクリックし,作成したフォルダを選択する.

以下のように,作成したフォルダが表示される.

以下のように,フォルダの下の空白部の赤枠を右クリックするとメニューが開くので,"New File"をクリックし,名前(xxx.py)を付ける.

今回は"sample.py"という名前にしたので,以下のようにファイルが作成される.

“Shift"+"CTL"+@ボタンを同時にクリックすると,ターミナルが開く.この"sample.py"にコードを書いていく.

コード内容

ChatGPTで何回か質問した結果,tkinterを利用したTo-Do list applicationのコードが出力されたので,以下に記す.

import tkinter as tk
import tkinter.font as tkFont
from tkinter import messagebox

class TodoListApp:
    def __init__(self, root):
        self.root = root
        self.root.title("To-Do List App")

        self.tasks = []

        self.task_label = tk.Label(root, text="Enter a task:")
        self.task_label.pack()

        self.task_entry = tk.Entry(root, width=40)
        self.task_entry.pack()

        self.add_button = tk.Button(root, text="Add Task", command=self.add_task)
        self.add_button.pack()

        # Bind the Enter key to add a task
        self.root.bind('<Return>', lambda event=None: self.add_task())

        # Create a custom font with a larger size
        self.custom_font = tkFont.Font(family="Helvetica", size=10)

        # self.task_listbox = tk.Listbox(root, font=self.custom_font)
        self.task_listbox = tk.Listbox(root, width=40, height=20)
        self.task_listbox.pack()

        self.remove_button = tk.Button(root, text="Remove Task", command=self.remove_task)
        self.remove_button.pack()

    def add_task(self):
        task = self.task_entry.get()
        if task:
            self.tasks.append(task)
            self.update_task_list()
            self.task_entry.delete(0, tk.END)

    def remove_task(self):
        selected_task_index = self.task_listbox.curselection()
        if selected_task_index:
            task_index = selected_task_index[0]
            del self.tasks[task_index]
            self.update_task_list()

    def update_task_list(self):
        self.task_listbox.delete(0, tk.END)
        for task in self.tasks:
            self.task_listbox.insert(tk.END, task)

def main():
    root = tk.Tk()
    app = TodoListApp(root)
    root.mainloop()

if __name__ == "__main__":
    main()

“sample.py"に上記コードを貼り付け,セーブをする.その後,赤枠の矢印(Run Python File)をクリックする.

以下のように,To-Do listが開く.

以上

PythonChatGPT,tkinter

Posted by クマガイ