Qt 5 の Qt Quick アプリのバイナリには qml のソースコードが含まれている
はじめに みなさん Qt Quick でアプリ書いていますか?便利でいいですよね! 最近こんな相談を受けました。 Qt Quick でアプリを書いているのですが、アプリのバイナリの中身に qml や js のソースコードがそのまま含まれているのですがなんとかなりませんか? 状況と...
はじめに みなさん Qt Quick でアプリ書いていますか?便利でいいですよね! 最近こんな相談を受けました。 Qt Quick でアプリを書いているのですが、アプリのバイナリの中身に qml や js のソースコードがそのまま含まれているのですがなんとかなりませんか? 状況と...
Qt Quick のソースコードである .qml ファイルはテキストファイルで、アプリケーションの実行時に QQmlEngine というクラスを利用して、インタープリタとして実行されます。 ただ、起動時に毎回毎回ファイルのパースを行うとパフォーマンスが遅くなるため、Qt 5.8 ...
Qt の開発者用のメーリングリスト に Qt のチーフメンテナから New QtMultimedia という投稿がありました。 Qt Multimedia は Qt 6.0 のリリースには入らず、2021年末にリリース予定の 6.2 で正式リリースとなる予定ですが、大規模な改修が...
はじめに ListModel と ListElement はよく使うエレメントですが、実は Qt Quick の中では一風変わったエレメントだということに気づいたことはありませんか? 一般的な QML のエレメントは「あらかじめ定義されているプロパティを設定する記述をする」もしく...
Qt Quick では、(主に画像ですがその他形式のファイルなどの)外部のリソースを扱う際に QUrl 形式を利用します。 Image エレメントの source プロパティ Loader エレメントの source プロパティ FontLoader エレメントの source ...
Qt では QtSVG モジュールを利用して SVG ファイルを扱うことが可能です。 (SVG Tiny 1.2 の static feature をサポートしていて、それ以外の機能には対応していません。) Qt Quick では、Image エレメントを利用して画像の表示が可能...
はじめに QML や QML で利用される JavaScript にグローバル関数を追加したいことがたまに(たまに)ありますね。 やりかた QQmlEngine の rootContext に contextObject を設定してあげることで、その QObject が提供してい...
年に一回くらいの頻度で ListView を使うけれど1画面に表示するアイテムの数は固定で SwipeView で複数ページに分けたい と思うことがあります。 ListView で縦スクロールするのではなく、SwipeView の横スクロールで表示を切り替えるってことです。 様々...
files(pattern[, recursive=false]) という qmake の関数を使うと簡単にできます。 HEADERS += $$files(*.h) SOURCES += $$files(*.cpp) とすると、同じディレクトリにあるすべての .h ファイルを ...
Qt/C++ 側では d-pointer という仕組みが有名ですが、QML でもそんなようなことをしたいですよね。 Qt 6/QML 3 ではスコープ的なものができるようですが、それまでは以下のような実装でしのぐことにしました。 // Private.qml import QtQ...