C言語DB入門 PartⅡ

コンソールで動かしたデータベースを、今度は「画面から操作できるアプリ」へ育てよう。

PartⅡでは、PartⅠで学んだC言語とSQLiteによるデータベース処理にGTK 4を組み合わせ、Windowsで操作できるGUIデータベースアプリへ発展させます。

最初に、ボタンや入力欄、ラベルといったGTK 4の基本を確認し、GUIプログラムならではのイベント駆動の仕組みを学びます。その後、SQLiteデータベースをGUIアプリから開き、保存されている書籍情報を画面へ表示してみましょう。

さらに、タイトルや著者名を入力して書籍を登録したり、一覧から選択した書籍を変更・削除したりできるようにし、GUIからCRUDを操作できる書籍管理アプリを完成させます。

最後は、完成したアプリを開発環境のないWindows PCでも動かせるように、exeファイルや必要なDLL、GTK関連ファイル、SQLiteデータをまとめ、ZIP形式の配布ファイルを作成します。「作る」だけで終わらず、「人に渡して使ってもらう」ところまで体験できるPartです。

第5章 GTK 4でGUIアプリを作ろう

第5章では、SQLiteを組み込む前にGTK 4を使ったGUIプログラムの基本を確認します。コンソールアプリとの違いや、ボタンをクリックするとコールバック関数が呼ばれるイベント駆動型プログラミングの考え方を学びましょう。GtkApplicationやGtkWindow、GtkEntry、GtkButton、GtkGridなど、データベースアプリで使用する部品を中心に扱います。さらに、pkg-configを利用したコンパイル方法や、複数のウィジェットを構造体で管理する方法まで学習します。

01 コンソールアプリからGUIアプリへ02 GTK 4の基本を確認する
03 最初のGTK 4プログラムを作成する04 GTK 4プログラムをコンパイルする
05 GTK 4プログラムを実行する06 ボタンとコールバック関数を使う
07 GUIプログラムのデータを管理する08 C言語GUI入門との学習範囲を整理する

第6章 SQLiteをGUIアプリに組み込もう

第6章では、いよいよGTK 4とSQLiteを組み合わせます。まずは完成する書籍管理画面の構成を確認し、GUI、C言語の処理、SQLite C API、データベースファイルがどのようにつながるのかを整理します。その後、データベースを開く処理や書籍を読み込む処理を関数として分け、GTK 4で作成した画面にSQLiteのデータを表示します。PartⅠで作成したデータベース処理が、GUIアプリでもそのまま活用できることを実感できる章です。

01 GUI版書籍管理アプリの仕様を決める02 GUI・C言語・SQLiteの関係を理解する
03 データベース処理を関数に分ける04 書籍入力画面を作る
05 SQLiteデータベースを開く06 データベースから書籍を読み込む
07 GTK 4の画面へ書籍一覧を表示する08 GUIとデータベースがつながる流れを確認する

第7章 GUI版CRUDアプリを完成させよう

第7章では、GUI画面から書籍の登録・表示・変更・削除を行えるようにして、書籍管理アプリを完成させます。入力欄へタイトルと著者名を入力して登録したり、一覧から書籍を選んで内容を変更したり、不要なデータを削除したりと、実際のアプリらしい操作を一つずつ実装します。また、処理後に一覧を更新してデータベースと画面の状態を一致させる方法や、入力ミスやSQLiteのエラーをGUI上で分かりやすく伝える方法も学習します。

01 GUIから書籍を登録する02 書籍を選択する
03 GUIから書籍を変更する04 GUIから書籍を削除する
05 入力欄をクリアする06 データ変更後に一覧を更新する
07 GUIでエラーを分かりやすく表示する08 GUI版書籍管理アプリを完成させる

第8章 GUIデータベースアプリを配布しよう

第8章では、完成したGTK 4+SQLiteの書籍管理アプリを、開発環境が入っていないWindows PCでも使える形にまとめます。配布用のexeファイルを作成し、実行に必要なGTK関連DLLやSQLite関連ファイルを確認します。さらに、プログラム本体と利用者が変更するbooks.dbをどのように配置するのかを考え、配布用フォルダを作成します。別のWindows環境で登録・更新・削除やデータ保存を確認したあと、最後にZIP形式へまとめ、実際に配布できる状態まで仕上げます。

01 開発環境と配布環境の違いを知ろう02 配布用にプログラムをビルドする
03 必要なDLLを確認する04 GTK 4の実行に必要なファイルをまとめる
05 SQLiteデータベースファイルの保存場所を考える06 配布用フォルダを作成する
07 別のWindows環境で動作を確認する08 ZIP形式の配布ファイルを作成する
09 C言語DB入門の総まとめ