Help us understand the problem. What is going on with this article?

約一年半ほどQtを使って感じたことなど

背景など

普段お世話になっているQt関連の記事へのお返しとして、何かQt Advent Calendar 2019に書きたいと思ったのですが、時間が取れなかったので、これまでQtを使って感じたことを残してみたいと思います。

私自身仕事としてのソフトの開発経験は長いのですが、Qtは初体験で理解しきれずに使っている点がほとんどです。ご容赦願います。

また一日遅れの上、技術的な事が何も無い記事になってしまい、申し訳ありません。

調査から環境構築、プロトタイプ作成まで

製品を開発するにあたり、Qtが使えそうか調査し、簡単なプロトタイプを作成するまでに感じたのは次のような点。

  • 機能は多く十分。製品に採用されている実績からも、足りないものはなさそうだと思った。
  • ただし、日本語の情報が少ない。公式ドキュメントでは機能や文法は分かるが、使いどころや設計のポイントが分からなかった。
  • @task_jpさんや@hermit4さんを始めとする日本語の記事が大変参考になりました。

仕様検討から本格開発開始まで

仕様を検討して開発を始めると、機能としては存在しても以下のような細かな問題がありました。

  • sshを使うよう設計したが、実装してみたら認証鍵方式限定だった。結果として仕様を変更した。
  • 予め自作したタイル画像をローカルに持っておき、ネットのない環境で地図表示する必要がありましたが、どうやってもQtのタイル画像表示がネットのない環境では動かなかったので、タイル画像からの地図表示は自作に切り替えました。
  • QtDesignerからだと機能しないスタイルシートが数か所あった。ソース内からsetStyleSheetすると機能する。
  • QGraphicsViewが思ったより重かった。大量のラインを毎秒描き足して残す処理があるが、アイテムが多くなると急激に遅くなってしまうので、描き足す際に直前のラインと比較して、人間の目で見てわからない程度の違いなら描き足さず描き直すなど実装を工夫してアイテム数を減らした。
  • OfficeをActiveX経由で操作してドキュメントを作る必要があるが、一部の引数が正常に動かず仕様を変えた。例えば、PowerPointでポリゴンを描こうとすると、座標が渡せない。

開発終了に向けて

後一ヶ月ほどで開発を終わらなければならない時期となり、試験やマニュアル作成の人員に実行ファイルを展開していますが、問題の報告、修正の確認の際、どの時点の実行ファイルか識別が必要になった。(本来Qtの問題ではありませんが)

これについては、Jenkinsを使い、SVNのリビジョン番号をexeのファイルバージョンに埋め込んでビルドする仕組みを自動化して対処しています。

最後に

繰り返しになりますが、全然技術的な事が書けずに申し訳ありません。開発が落ちついたら上に書いた問題なども整理して書きたいと思います。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした