クロスプラットフォームライブラリと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.8 release focuses on technology trends like spatial computing & XR, complex data visualization in 2D & 3D, and ARM-based development for desktop.
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.
7 30, 2024
このブログは「Cloud-Native Software-in-the-Loop Testing with Qt and..
5 13, 2024
本稿は「The Future Landscape of Industrial Automation」の抄訳です。..
2 3, 2023
この記事は「Develop better software with the help of GUI test automation」の抄訳です。..
Qt Group includes The Qt Company Oy and its global subsidiaries and affiliates.