カテゴリー: Tips

ListModel をある単位で分割したモデルを利用したい

年に一回くらいの頻度で ListView を使うけれど1画面に表示するアイテムの数は固定で SwipeView で複数ページに分けたい と思うことがあります。 ListView で縦スクロールするのではなく、SwipeView の横スクロールで表示を切り替えるってことです。 様々...

スコープが終わった際に処理をしたい

QMutexLocker, QReadLocker, QWriteLocker のようなクラスは、スコープ内でインスタンスを作っておけば、break や return などでそのスコープを抜けた際に自動で処理をしてくれますが、同じようなもう少し複雑なようなことをしたい場合がたまに...

QNetworkAccessManager で 同期通信

Qt で HTTP リクエストを行う際には QNetworkAccessManager (通称nam) を利用しますが、基本的には非同期の動作となり、QNetworkReply::finished シグナルを利用して終了時の処理を行います。 ただし、特殊な場合(コマンドラインアプ...

QML で private な実装をする方法 2019

Qt/C++ 側では d-pointer という仕組みが有名ですが、QML でもそんなようなことをしたいですよね。 Qt 6/QML 3 ではスコープ的なものができるようですが、それまでは以下のような実装でしのぐことにしました。 // Private.qml import QtQ...

リソースファイル分割のすゝめ

この記事は Qt Advent Calendar 2019 2日目の記事です。 リソースのおさらい 最近の Qt Quick のプロジェクトでは、.qml ファイルや .js ファイル、画像などのアセットなどを Qt のリソースシステム で管理するのが一般的になっています。 その...