カテゴリー: QtQuick

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

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

Qt Quick Ultralite の API の概要

Qt for MCU 向けに開発された、Qt Quick のランタイムで利用可能な C++ の API のドキュメントが公開されていましたので紹介します。 Qul::Items::QtObject C++ で QML のエレメントを生成するための基底クラスです。 public か...

QML のパーサーの作り方

はじめに 大規模な Qt Quick のアプリケーションの開発時などに、QML ファイルの何かをチェックしたり、一括で処理をするようなツールが欲しくなることがあります。 その作業を正確に行うには、QML のパースが必要となりますが、ゼロから書く気にはなりませんよね。 当然ですが、...

Qtアプリのバイナリサイズを削減する(5)

Qtアプリのバイナリサイズを削減する(4) ではQt から不必要な機能をごっそり削除することで27%程度サンプルアプリのバイナリサイズを削減することができました。 今まではバイナリのサイズのみに着目してきましたが、今回は起動時間の変化を調査してみました。 Qt アプリの起動時間の...

Qtアプリのバイナリサイズを削減する(4)

Qtアプリのバイナリサイズを削減する(3) ではリンク時の最適化を有効にした結果で10%程度サンプルアプリのバイナリサイズを削減することができました。 configure のオプションを設定するだけで、半分以下のサイズになって素晴らしいですね。 Qt ではさらにバイナリサイズを削...

Qtアプリのバイナリサイズを削減する(3)

Qtアプリのバイナリサイズを削減する(2) ではサイズに最適化した結果で30%程度サンプルアプリのバイナリサイズを削減することができました。 今回は、さらに次に試すべきオプションを試してみます。 リンク時に最適化を行うコンパイルオプション Link Time Optimizati...