NoteでのQtの25回目記事、作成しました。
今回はTableViewとTableModelの使い方について記載しました。
前々回、前回と関連した内容の記事になっています。
前々回のListViewとListModelを使用したリストビューの作成
前回のListViewとQAbstractListModelを継承したModelクラスでの実装
そこから今回は
TableViewとQAbstractTableModelを継承したModelクラスでの
テーブルビューの実現という内容の記事となっています。
前回のQAbstractListModelもそうなんですが
ちゃんと公式のQtドキュメントを読んで参考にできていればいいんですが
純粋仮想関数のまわりがイメージしにくくて
それが実装トラブルにつながりやすい部分なんですよね。
どうしてもroleNames関数の役割なんかは
ListModel、ListElementあたりの理解からつなげていかないと
「なんで?」ってなってしまいがちです。
(自分は少なくともそうでした)
理解していないとエラー対応も「なんとなく」になりがちですし
ヘタすると更なるエラーにつながりかねないので
これまでの実務ではあまり採用していませんでした。
しかし、今回Noteの記事としてまとめるにあたって
rowCountやcolumnCount関数、data関数とroleNames関数の関係など
改めてその関係性の理解ができたと感じています。
方法さえ知っていれば
その時その時に応じて実現の方法は選ぶことができます。
一番厳しいのは、方法を知らないが故に
ロスの大きい(面倒な)方法しか選べないことです。
安全性のために手間を取ったり
効率のために若干のリスクを取ったりという
選択肢自体がないというのは、実装するエンジニアとして大変だと思います。
方法を知り
その時その時に応じて自身の責任で方法を選び
選んだ方法で実現する―――
そういった取り組み方ができるためには
実現方法を「知っておく」必要があるのではないか、と考えています。
そんなわけで、興味があったら下記の記事
よろしくお願いします。

0 件のコメント:
コメントを投稿