Qt Quick で双方向のバインディングを実現する
はじめに Qt Quick でよくハマるところの一つがプロパティのバインディングと代入まわりです。 特に、このオブジェクトのこのプロパティと、べつのオブジェクトのこのプロパティを相互に同期しようと以下のように記載すると 大量に QML SpinBox: Binding loop ...
はじめに Qt Quick でよくハマるところの一つがプロパティのバインディングと代入まわりです。 特に、このオブジェクトのこのプロパティと、べつのオブジェクトのこのプロパティを相互に同期しようと以下のように記載すると 大量に QML SpinBox: Binding loop ...
はじめに みなさん 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 ファイルを ...