本文へスキップします。

本文へ

【全Qt】
【全・Qt】SRAロゴ
H1

コラム:Gamry Instruments: 電気化学研究ソフトウェアでの Qt for Python 活用

コラム本文

初出:SRA Qt MailNews 2019年9月号

改訂:2026年10月21日

掲載当時の事例を読みやすく再編集しました。本文の製品・構成・数値は当時の情報です。今回の解説・訂正は「編集補足」に記載しています。

この事例の要点

Gamry Instrumentsは、Windows向けの分析ツールを刷新する際、既存C++資産を活かしながらPythonによる拡張を可能にしました。Qt for Python、Qwt、Shibokenの役割が具体的な事例です。

刷新の要件

Gamry Echem Analystには、利用者がスクリプトで分析を拡張できること、macOSとWindowsで動作すること、大規模な複数データを描画できること、既存のC++分析ライブラリを利用することが求められていました。

Qt Professional Servicesは、UIにQt for Python、グラフ表示にQwtを使う方法を提案しました。QwtはC++とQt Widgetsを基盤としているため、Pythonから呼び出す仕組みが必要です。

ShibokenでC++資産を接続

Shibokenを用いてQwtのPythonラッパーを生成し、PythonのスクリプトからC++のクラスを呼び出せるようにしました。同じ仕組みをGamryの既存C++分析ライブラリにも利用しています。

構成は「PythonのUI・スクリプト → Shibokenで生成したラッパー → Qwtと既存C++分析ライブラリ」です。UIや利用者による拡張をPythonで扱い、既存の計算処理をC++資産として活かしています。

編集補足:言語の境界を小さく試す

下の図は本文の役割分担をまとめたものです。自社のC++資産で試す場合は、まず一つの分析処理をPythonから呼び出し、入力データ、戻り値、失敗時の扱いを確認します。その上で、頻繁に変更するUIと、再利用する計算処理の境界を決めると、全面的な書き換えを避ける判断ができます。

図:PythonからC++資産を利用する流れ(編集部による整理)
PythonのUI・スクリプト Shibokenで生成したラッパー Qwt/既存C++分析ライブラリ

出典・参考資料

出典:SRA Qt MailNews 2019年9月号の採用事例欄をもとに編集。

コラム一覧へ