2021-04-13

PySide6 でデータベースを扱う (2)

Qt for Python (PySide6) は、Qt 6 の Python バインディングで、Qt 6と同じく、LGPLv3 / GPLv3Qt commercial license(商用ライセンス)が適用されています。

Qt には、GUI を構成するためのモジュールだけでなく、GUI と併せて利用すると便利なモジュールも数多く用意されています [1]。SQL データベースを扱うモジュール QtSql もその一つです。

前回に続いて、今回も QtSql モジュールを利用した GUI サンプルを紹介します。

本ブログ記事では下記の OS 環境で動作確認をしています。

Fedora 34 (Workstation Edition Prerelease) x86_64
- python3-3.9.2-1
- venv/pip: PySide6 (6.0.2)

郵便番号検索サンプル

QtSql モジュールの使い方は、参考サイト [2] で紹介されているサンプルを参考にさせていただきました。

郵便番号のデータベースは、日本郵政の郵便番号の CSV 形式のデータベース [3] の文字コードを Windows の cp932 から UTF-8 へ変換したファイルを読み込んだ SQLite のデータベースファイル(下記 postal.sqlite)を使用します。

以下に郵便番号を検索するサンプルを示しました。

qt_database_search.py

 

実行例を以下に示しました。サンプルを起動後、最初に 選択 ボタンをクリックして postal.sqlite を選んで読み込みます。

qt_database_search.py の実行例

あとは「都道府県」、「市区町村」、「住  所」のコンボボックスから探したい住所を選んで、右端のラベルに、選択した住所の郵便番号を表示するという単純なサンプルです。

QtSql モジュールの使い方は、あらためてまとめる予定です。

参考サイト

  1. Qt Modules — Qt for Python
  2. Handling SQL Databases With PyQt: The Basics – Real Python
  3. 郵便番号データダウンロード - 日本郵便

 

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村 にほんブログ村 IT技術ブログ Linuxへ
にほんブログ村

0 件のコメント: