大阪市中央区 システムソフトウェア開発会社

営業時間:平日09:15〜18:15
MENU

Qtプログラミング – スプレッドシートのセル・クラス

株式会社クローバーフィールドの経営理念
著者:津路高広
公開日:2019/10/26
最終更新日:2019/10/26
カテゴリー:技術情報

津路です。
前回までで、メニューの作成、スプレッドシートの新規作成、保存までを終えました。
今回は、ファイルに保存したシートを読み込む機能を作成します。
まず、SpreadSheet クラスは、QTableWidgetをサブクラス化していますが、シートの各セルは、QTableWidgetItem です。
このクラスをサブクラス化して、新たにCell クラスを作成します。

実装ファイルは以下のようになります。

ここで、setFormulaという関数は、セルの式を設定します。
EditRoleとは、Qt文書ではThe data in a from suitable for editing in an editor.という説明になっています。
表示用のロールは、DisplayRoleと呼びます。
formula関数は、EditRoleで設定された式を文字列にして返却します。

次に、このクラスをSpreadsheetクラスから利用します。
まず、セルのインスタンスをもらってくる関数です。

item(row,column)関数は、QTableWidgetクラスの関数で、指定された位置のセルを返します。
ここでは、Cellクラスのオブジェクトのポインタを、スタティックキャストして返却します。

セルに式を設定する関数です。

セルのオブジェクトを取得して、setFormula関数にて式を設定します。
オブジェクトが取得できない場合は、新規にオブジェクトを作成して、セルを設定します。
次回は、以上の仕組みを使って読み込み機能を実装します。

    上に戻る