クロスプラットフォームライブラリとAPI
Qt Creator IDEと生産性向上ツール
UI compositionのためのUIデザインツール
Qtプロジェクト向け
モバイルアプリのデジタル広告
受託開発、トレーニング、サポート等
組み込み向けユーセージ分析
Qtは、UIデザインやソフトウェア開発から品質保証、展開に至るまで、製品開発ライフサイクル全体で生産性を向上させます。あなたのニーズに最も適したソリューションを見つけてください。
最新のリソースを入手し、今後のイベントを確認しましょう。
理想的な学習リソースを見つけたり、コミュニティと交流したりして、Qtのスキルを向上させましょう。
初心者であろうとベテランのQtプロであろうと、成功するために必要なサポートと助けがすべて揃っています。
9月 18, 2018 by 鈴木 佑 | Comments
この記事は The Qt Blog の QtKNX updates for 5.11 を翻訳したものです。
執筆: Andrew O'Doherty, 2018年05月18日
以前 KNX の対応 についてお知らせをして以降しばらく間が空いてしまいましたが、5.11 のリリースに合わせてアップデートを行う QtKNX の内容を簡単に紹介したいと思います。
今回のアップデートの焦点の一つは Qt KNX のオブジェクトの走査と構築をより直感的に改善することでした。KNXnet/IP フレームで必要となる数多くの仕様に対応するために、プロキシパターンを導入しました。例えば、KNXnet/IP の接続要求のフレームで実行される情報は QKnxNetIpConnectRequestProxy クラスを利用して得ることができます。
以下のサンプルコードでは、KNXnet/IP のサーバー側が接続要求のフレームを受信する際にこのクラスを使っています。
QKnxNetIpFrame frame = //...;
QKnxNetIpConnectRequestProxy request(frame);
if (!request.isValid())
return;auto ctrlEndpoint = request.controlEndpoint();
auto dataEndpoint = request.dataEndpoint();
auto cri = request.requestInformation();
このフレームはいくつものフィールドを持つ構造のため、コンストラクタに渡すパラメーターの順序を正確に覚える必要がある設計では使いづらくなります。これを簡単にするために、ビルダーパターンを採用しました。これによりオブジェクトの生成がカプセル化され、柔軟に使えるようになりました。
QKnxNetIpConnectRequestProxy のコンストラクタの代わりに QKnxNetIpConnectRequestProxy::builder() を利用することで以下のようにコードがすっきりとします。
auto frame = QKnxNetIpConnectRequestProxy::builder()
.setControlEndpoint(hpai)
.setDataEndpoint(hpai)
.create();
このプロキシとビルダーパターンはほぼすべての QtKNX のクラスで採用されています。
もう一つの新機能は ETS KNX プロジェクトファイルのサポートです。特に、グループアドレスと関連のデータポイントタイプ(DPT)に対応しました。KNX の世界に馴染みのない方もいるかと思いますが、ETS は Engineering Tool Software の頭文字をとったもので、KNX のインストールのデザインとコミッショニングのためのツールになります。
以下のコードは、ETS KNX プロジェクトファイルをパースする機能を使うサンプルです。
QKnxGroupAddressInfos infos(projFilePath);
infos.parse();
次に、パースに問題がなかったことを確認します。
if (infos.status() != QKnxGroupAddressInfos::Status::NoError)
return;
最後に、パースした情報を展開します。
for (const auto &projId: infos.projectIds()) {
auto installations = infos.installations(projId);
// ...
for (const QString &installation: installations) {
for (const QKnxGroupAddressInfo &addInfo: groupAddresses) {
if (!addInfo.isValid())
return;
//...
}
}
}
この他にも、ドキュメンテーションの大幅な改善やその他の更新もしました。QtKNX 5.11 のリリースをお楽しみに。フィードバックもお待ちしています!
Download the latest release here: www.qt.io/download.
Qt 6.6. is a feature release with focus on improving UX capabilities including responsive UI technology and the Qt Graph module.
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.
2 3, 2023
この記事は「Develop better software with the help of GUI test automation」の抄訳です。..
10 30, 2018
この記事は The Qt Blog の What’s new with the Wayland platform plugin in Qt..
10 28, 2018
この記事は The Qt Blog の Serialization in and with Qt を翻訳したものです。 執筆: Maurice..
Qt Group includes The Qt Company Oy and its global subsidiaries and affiliates.