1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claudeのコーディング機能でPython GUIアプリを短時間でプロトタイピングできた話〜プロトタイプ作成編

Last updated at Posted at 2025-09-09

はじめに

ラップタイマーのアプリを探していたのですが見つからなかったので、自分で作ってみることにしました。

やりたいこと

  • ラップ時間を記録したい
  • 複数のラベルを使い分けたい
  • ラベルの種類は最低7種類
  • ラベルカスタマイズ機能があればよいが、無くても可
  • ラップ時間が保存(エキスポート)できること
  • 一つのウインドウで動作

仕様

  • スペースキーで測定開始/停止
  • エスケープキーでタイマーリセット
  • 数字キー(0〜9)でキー情報とともにラップ時間とタイムスタンプを記録
  • 記録結果をCSVファイルとして保存できる

前提

  • Claudeには課金済
  • Apple Silicon Macを使用
  • Homebrewによるパッケージ管理
  • 使用言語はPython(Version 3.10.18)
  • uv環境は構築済(私のPython開発環境構築〜準備編その1基礎編
  • uv init simple_lap-time_recorderで作成したディレクトリで作業

プロトタイプ作成

Claude画面で、</>コードボタンを押すとプロンプトをいくつか提案してくれる。その中の一つを選ぶと以下のプロンプトが入力された。

Claudeが提案したプロンプト

こんにちは、Claudeさん!一緒にコーディングしましょうをお願いできますでしょうか?追加情報が必要な場合は、重要な質問を1~2つお聞かせください。より良い結果のために必要な資料がございましたら、お申し付けください。Google Driveやウェブ検索など、利用可能なツールを必要に応じてご活用ください。分析ツールのご使用はお控えください。ご回答は親しみやすく簡潔な形でお願いいたします。
できるだけ早めにタスクを実行していただき、可能であれば成果物を作成していただけると助かります。成果物を作成する場合は、このタスクに最適な形式(インタラクティブ、ビジュアル、チェックリストなど)をご検討ください。ご協力ありがとうございます。

出力

こんにちは!一緒にコーディングできて嬉しいです!
まず、どのようなプロジェクトを作りたいか教えていただけますか?例えば:

  1. 何を作りたいですか? - ウェブアプリ、ゲーム、ツール、データ可視化など
  2. 使いたい技術はありますか? - React、HTML/CSS/JS、特定のライブラリなど

もし具体的なアイデアがまだでしたら、人気のあるプロジェクトをいくつか提案できます:

  • インタラクティブなToDoアプリ
  • シンプルなゲーム(じゃんけん、数当てゲームなど)
  • 計算機やユーティリティツール
  • データ可視化ダッシュボード

どんなものでも大歓迎です!アイデアを教えていただければ、すぐに実装を始めましょう 🚀

入力プロンプト

macOSで動作するラップタイマーアプリを作りたい。使用言語はPython。タイマーをスタートし、数字を入力すると、入力した時点のタイムスタンプが記録される。スペースキーでスタートし、もう一度スペースキーを押すとストップ。エスケープキーを押すとリセットされる。

出力

macOS用のラップタイマーアプリを作りましょう!PythonとTkinterを使って、シンプルで使いやすいアプリを作成します。

〜コード省略〜

ラップタイマーアプリが完成しました!🏃‍♂️
主な機能:

  • スペースキー: タイマーのスタート/ストップ
  • 数字キー (0-9): その時点でのラップタイムを記録
  • ESCキー: タイマーをリセット

特徴:

  • リアルタイムで時間表示が更新(MM:SS.ss形式)
  • ラップタイムの履歴表示(個別タイムと累計時間)
    -- 状態に応じて色が変わる直感的なデザイン

使い方:

  • ファイルを保存(例:lap_timer.py)
  • ターミナルで実行:python3 lap_timer.py

必要な環境:

  • Python 3.x(macOSに標準インストール済み)
  • Tkinter(Pythonに含まれています)

アプリを実行すると、大きなタイマー表示とラップタイムの履歴が表示されます。数字キーを押すたびに、その番号とタイムスタンプが記録されるので、複数のラップを効率的に管理できます!
何か調整や追加機能があれば、お気軽にお申し付けください!

アプリウインドウ

Screenshot 2025-09-04 at 15.48.13.png

コンソールにエラーはでるが、想定通りに機能する。

GUIライブラリ変更

後々の機能拡張を考慮して、GUIライブラリにPySide6を使用することにする。

入力プロンプト

GUIのライブラリとして、Tkinterの代わりにPySide6を使用してください。

出力

PySide6を使用したラップタイマーアプリに変更しますね!より現代的でmacOSに適したUIになります。

〜コード省略〜

PySide6版のラップタイマーアプリが完成しました!✨
PySide6版の主な改善点:

  • モダンなUI: macOSのネイティブな見た目により近い
  • 高DPI対応: Retinaディスプレイで美しく表示
  • SF Pro フォント: macOSの標準フォントを使用
  • 滑らかなアニメーション: より応答性の高いUI
  • 改良されたスタイリング: CSS風のスタイルシート

セットアップ:

bash
# PySide6のインストール
$ pip install PySide6

使い方:

  1. ファイルを保存(例:lap_timer_pyside.py
  2. PySide6をインストール:pip install PySide6
  3. 実行:python3 lap_timer_pyside.py

機能は同じです:

  • スペースキー: スタート/ストップ
  • 数字キー (0-9): ラップタイム記録
  • ESCキー: リセット

PySide6の利点:

  • より現代的で洗練されたUI
  • macOSとの統合性が向上
  • 高解像度ディスプレイ対応
  • より柔軟なスタイリング機能
  • Qt6の最新機能を活用

アプリを起動すると、Tkinter版よりもmacOSらしい美しいインターフェースが表示されます!何か調整や追加機能があれば、お気軽にお申し付けください 🚀

アプリウインドウ

スクリーンショット 2025-09-05 8.14.20.png

こちらも、コンソールにエラーはでるが、問題なく動作した。


ここまで、探りながらで1時間程度でした。
機能追加編に続きます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?