カテゴリー: Qt5

.qml ファイルのキャッシュを消す方法

Qt Quick のソースコードである .qml ファイルはテキストファイルで、アプリケーションの実行時に QQmlEngine というクラスを利用して、インタープリタとして実行されます。 ただ、起動時に毎回毎回ファイルのパースを行うとパフォーマンスが遅くなるため、Qt 5.8 ...

QtQuick の ListModel を継承して使いたい

はじめに ListModel と ListElement はよく使うエレメントですが、実は Qt Quick の中では一風変わったエレメントだということに気づいたことはありませんか? 一般的な QML のエレメントは「あらかじめ定義されているプロパティを設定する記述をする」もしく...

QUrl をローカルファイルに変換する

Qt Quick では、(主に画像ですがその他形式のファイルなどの)外部のリソースを扱う際に QUrl 形式を利用します。 Image エレメントの source プロパティ Loader エレメントの source プロパティ FontLoader エレメントの source ...

Qt Quick で SVG を表示する

Qt では QtSVG モジュールを利用して SVG ファイルを扱うことが可能です。 (SVG Tiny 1.2 の static feature をサポートしていて、それ以外の機能には対応していません。) Qt Quick では、Image エレメントを利用して画像の表示が可能...

QML にグローバル関数を追加する方法

はじめに QML や QML で利用される JavaScript にグローバル関数を追加したいことがたまに(たまに)ありますね。 やりかた QQmlEngine の rootContext に contextObject を設定してあげることで、その QObject が提供してい...

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

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

Qt の MinGW 版で Qt のライブラリの中までデバッガで入る方法

とある日本の■■■から相談を受けました。 状況 Qt の公式インストーラーからインストールした Windows の MinGW で Qt のアプリケーションを開発する際に、Qt Creator でデバッグすると思いますが、自分の書いたアプリのコードはデバッグができるのですが、Qt...

Qt/Docker でお手軽 wasm!!

Qt for WebAssembly を見ながら環境構築をするのがちょっとめんどくさかったので、Qt アプリを wasm 化して動作させるような Dockerfile を書いてみました。 なにをしているの? Qt アプリを wasm 向けにビルドするための Qt の開発環境と、 ...