レポート

Qtが拓くUIの未来を先取り ―「Qt World Summit 2018 Boston」レポート

この記事を読むのに必要な時間:およそ 6 分

Mastering Qt for Python in 20 min

Cristián Maureira-Fredes氏によるセッション

Cristián Maureira-Fredes氏によるセッション

このセッションでは,The Qt Company社のソフトウェアエンジニアCristián Maureira-Fredes氏がQt for Pythonについて説明していました。執筆時点では,Qt for PythonはQt 5.11をベースに,テクノロジープレビュー版としてリリースされています。Python 2.7, 3.5, 3.6, 3.7 に対応しており,商用ライセンス,オープンソースライセンスの両方で使用可能です。Qt 5.12のリリース後にテクノロジープレビューから外れて,正式リリース版となる予定になっています。

Cristián Maureira-Fredes氏はPythonを選んだ理由として,人気の言語であること,以下のメリットがあることを挙げていました。

  • コードの可読性向上
  • プロトタイプを速く作成することが可能
  • ガベージコレクションが使用できるため,C++のように手動でメモリの解放を行う必要がない
  • ブール値,数値,文字列等をはじめとする,数多くのネイティブデータ型の使用が可能
  • タスクの自動化や深層機械学習等,現在注目されている技術との統合が容易

セッション中は実際にプログラミングを行うデモもあり,使い方のイメージが湧きやすくなっていました。

たとえば,Qt for Pythonで⁠Hello World!⁠を表示するプログラムは以下のようになります。

import sys
from PySide2.QtWidgets import QApplication, QLabel

# Qt Application
app = QApplication(sys.argv)

# Qt Widget
label = QLabel("Hello World!")
label.show()

# Executing app
sys.exit(app.exec_())

上記はC++の場合の以下のプログラムに対応しています。

#include <QApplication>
#include <QLabel>

int main(int argc, char *argv[])
{
    // Qt Application
    QApplication app(argc, argv);

    // Qt Widget
    QLabel label("Hello World!");
    label.show();

    // Executing app
    return app.exec();
}

コーディングスタイルについては,Pythonはスネーク記法(例: underscore_variable)で,Qtはキャメル記法(例: camelCase)ですが,C++からPtyhonにスムーズに移行できるように,QtのAPIはキャメル記法のままにしているそうです。最後に今後の課題として,mypy等の静的な型への対応や,Qt Creatorの操作感の改善,Android/iOSへの対応等を挙げていました。

デモブース

デモブースの模様

デモブースの模様

例年同様,The Qt Company社,ICS社,KDAB社,froglogic社等,QtWSのスポンサー企業によるデモブースもありました。今回はQtWSの開催期間が短いこともあり,1日目のトレーニングデーの朝からデモブースを見て回ることができました。

ICS社のブースでは,ICS社のIVIシステムとAmazon Alexaを統合した新しい車載向けソリューションの展示が行われていました。⁠Alexa, nearest Starbucks(アレクサ,最寄のスターバックス)⁠と話しかけると,地図上にスターバックスの位置が表示されたり,⁠Alexa, play music(アレクサ,音楽をかけて)⁠と話しかけると,音楽が再生されたりします。

ICS社の展示

ICS社の展示

その他にも,The Qt Company社のブースには,Qtを搭載したマイクロコントローラーの展示が,KDAB社のブースにはQt 3Dを使用したアプリの展示がありました。

参加者は主に,朝のトレーニングやカンファレンスが始まる前の時間や,トレーニングやカンファレンスの合間に設けられる休憩時間中に,興味を持ったブースを見て回っていました。全部で12以上のブースがあり,多くの方がデモブースに集まっていました。

おわりに

ここまで紹介したトレーニング,キーノート,セッション,デモブース以外に,2日目の夕方にはパーティーがありました。夕食や飲み物が提供され,世界中のQt関係者・ユーザーが交流を深めていました。

パーティの模様

パーティの模様

今回のQtWSでも,ここ数年と同様,キーノートやセッションの情報が確認できるスマホ用アプリiOS 用Android 用)⁠ が用意されていました。例年より1日短かったですが,多くの方と交流でき,十分満足できる内容でした。興味を持たれた方は,今後開催されるQtWSに参加してみてはいかがでしょうか。

なお,前述した弊社SRAのSquishセミナー(2018年12月7日開催)については,SRAのイベント情報ページに詳細を記載しています。興味を持たれた方は,こちらもぜひご参加ください。

SRAのQt関連サービスご紹介
  • Qtの国内販売代理店として2003年からQtの普及・促進に貢献
  • Qtのライセンス販売だけでなく,コンサルティングから開発,サポートサービスまでをトータルに提供
  • 多くのQtエンジニアが在籍しており,Qt開発受託の実績豊富
  • 4名のQtコンサルタントにより,導入のご支援,パフォーマンスチューニング,Qt自身のカスタマイズ等のサービスを提供
  • Qtの導入を検討する顧客向けに,Qtプログラミング体験セミナーを無償で毎月開催
  • より実践的なプログラミングスキルを学べる有償トレーニングも毎月開催
  • 詳細はSRAのQtサイト参照

著者プロフィール

千田順子(ちだじゅんこ)

株式会社SRAのエンジニア。2016年からQtチームに配属され,Qtのアプリケーション開発を担当している。