【python】作りながら覚えるデスクトップアプリ開発|tkinter

python

8ページめです。

新たにカテゴリーを追加したり、カテゴリーやURLを削除する処理を追加していきましょう!

  1. python×tkinterでGUI作成
    1. python の開発環境は Anaconda がおすすめ
    2. ウィンドウの各種設定項目を追加
  2. tkinterのボタンクリックでリンク開く方法
  3. ここまでの全コード
  4. 【python】tkinter基礎⇒応用編
    1. URLをクリックするとリンクを開くようにカスタマイズ
    2. リンクを開く処理の実装
  5. 今回カスタマイズした結果の全コード
  6. 複数ページのリンクを表示する
    1. forループでページ数の連番を追加する処理
    2. リストにしたURLをlistboxで表示してみよう!
    3. submit 関数のカスタマイズ
  7. 今回のカスタマイズした全コード
  8. 設定ファイル(*.ini)の処理をコーディング
    1. 設定ファイルの保存フォルダを作成
    2. 保存フォルダに設定ファイル(*.ini)を保存
    3. 設定ファイル(*.ini)を扱うモジュール
  9. これまでのコードに設定ファイル(*.ini)の処理を組み込む
  10. JSONファイルで、お気に入りサイトのURLを管理
    1. サブアプリの画面をカスタマイズ
    2. 辞書型(ディクショナリー型)
  11. JSONファイルにデータを追加するツールを作成
  12. JSON書き込み処理の実装
    1. コードの解説
    2. URLの正規表現によるチェック
    3. URLの存在チェック
  13. 動作確認
  14. 今回使用するJSONファイル
  15. コンボボックスとリストボックスの追加
    1. コンボボックスにカテゴリーを追加する関数
    2. URLをブラウザで開く処理
  16. 今回の全コード
    1. 動作確認
  17. カテゴリーやURLの追加や削除の関数
    1. add_category 関数の説明
    2. remove_category関数の説明
    3. remove_url関数の説明
  18. 関数を操作する例
  19. ここからは・・・
  20. まとめ

カテゴリーやURLの追加や削除の関数

以下に、与えられたコードにカテゴリーを追加する関数と、カテゴリーやURLを削除する処理を追加したコードを示します。

import json

def add_category(bookmark_dict, category, url):
    if category in bookmark_dict:
        bookmark_dict[category].append(url)
    else:
        bookmark_dict[category] = [url]

def remove_category(bookmark_dict, category):
    if category in bookmark_dict:
        del bookmark_dict[category]

def remove_url(bookmark_dict, url):
    for category in bookmark_dict:
        if url in bookmark_dict[category]:
            bookmark_dict[category].remove(url)

add_category 関数の説明

add_category関数は、既存のブックマーク辞書に与えられたカテゴリーとURLを追加します。

  • カテゴリーが存在する場合は、そのカテゴリーのリストにURLを追加
  • 存在しない場合は、新しいカテゴリーを作成し、そのカテゴリーのリストにURLを追加

remove_category関数の説明

remove_category関数は、既存のブックマーク辞書から与えられたカテゴリーを削除します。

  • カテゴリーが存在する場合は、そのカテゴリーを辞書から削除

remove_url関数の説明

remove_url関数は、既存のブックマーク辞書から与えられたURLを削除します。

  • URLが存在する場合は、そのURLを含むカテゴリーのリストからURLを削除

関数を操作する例

以下に、上記の関数を使用してブックマークを操作する例を示します。

# ブックマーク辞書を初期化
bookmark_dict = {}

# ブックマークを追加
add_category(bookmark_dict, "ニュース", "https://www.bbc.com")
add_category(bookmark_dict, "ニュース", "https://www.cnn.com")
add_category(bookmark_dict, "スポーツ", "https://www.nba.com")
add_category(bookmark_dict, "エンタメ", "https://www.imdb.com")

# ブックマークを表示
print(json.dumps(bookmark_dict, indent=2))

# カテゴリーを削除
remove_category(bookmark_dict, "スポーツ")

# URLを削除
remove_url(bookmark_dict, "https://www.bbc.com")

# ブックマークを表示
print(json.dumps(bookmark_dict, indent=2))

上記の例では、最初にブックマーク辞書を初期化し、add_category関数を使用してブックマークを追加し、json.dumpsを使用してブックマークを表示しています。

次に、remove_category関数を使用してスポーツカテゴリーを削除し、remove_url関数を使用してBBCニュースのURLを削除します。

最後に、json.dumpsを使用して更新されたブックマークを再度表示しています。

ここからは・・・

はい、いつもなら、全体のコードを掲載するのですが、それではコピペで動かしてしまって、学習効果が望めないと思い、全コード掲載はやめました。

手順としては、

  • 関数と操作例を元に、入力値をコード内にべた書きして動かしてみる
  • 必要なボタンやラベルやEntryなどを追加して、外部入力に置き換えてみる
  • 動作確認して完成させる

といったステップで完成させてみてください。

エラーやわからないことがあったら調べて解決するということも必要なスキルです。

あきらめないで、チャレンジしてみてくださいね。

陰ながら応援しています。

まとめ

8ページにも及ぶ記事を書くのは初めてでしたが、やっと一区切りついて書き終えることができました。

これでこの記事は終了です。

ここまでお読みくださってありがとうございました。

また次の記事でお会いできるのを楽しみにしております。

Python でGUIアプリケーションを作成します PythonでGUIアプリをEXE形式で納品します

コメント

タイトルとURLをコピーしました